mysql文件上传漏洞_finecms前台任意文件上传漏洞 | CN-SEC 中文网

摘要

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 ([email protected]_put_contents($new_file, base64_decode(str_replace($result[1], '', $file)))) { exit(dr_json(0, '目录权限不足或磁盘已满'));

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

dd3985c7025d711f2644f732ef89eef6.png

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

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

修复方案:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值