finecms前台任意文件上传漏洞

颓废 2019年5月19日10:06:57评论2,000 views字数 683阅读2分16秒阅读模式
摘要

FineCMS(简称免费版或公益版)是一款基于PHP+MySql+CI框架开发的高效简洁的中小型内容管理系统,

FineCMS(简称免费版或公益版)是一款基于PHP+MySql+CI框架开发的高效简洁的中小型内容管理系统,

这次的漏洞出现在前台头像上传的地方

存在任意文件上传

public function upload() {       // 创建图片存储文件夹     $dir = SYS_UPLOAD_PATH.'/member/'.$this->uid.'/';     @dr_dir_delete($dir);     !is_dir($dir) && dr_mkdirs($dir);       if ($_POST['tx']) {         $file = str_replace(' ', '+', $_POST['tx']);         if (preg_match('/^(data:/s*image//(/w+);base64,)/', $file, $result)){             $new_file = $dir.'0x0.'.$result[2];             if (!@file_put_contents($new_file, base64_decode(str_replace($result[1], '', $file)))) {                 exit(dr_json(0, '目录权限不足或磁盘已满'));

接收txt的参数.然后匹配了正则.最后取出内容和文件后缀部分。再直接存盘.文件名都是统一的0x0

finecms前台任意文件上传漏洞

仅仅是需要记住当前用户的id就可以搞定了

webshell http://xxx.com//uploadfile/member/uid/0x0.php

修复方案:

if (preg_match('/^(data:/s*image//(png|jpg|jpeg);base64,)/', $file, $result)){

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
颓废
  • 本文由 发表于 2019年5月19日10:06:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   finecms前台任意文件上传漏洞http://cn-sec.com/archives/68414.html

发表评论

匿名网友 填写信息