记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

finecms前台任意文件上传

2019-12-21 21:40

前台头像上传的地方任意文件上传

    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


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

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

修复方案:

if (preg_match('/^(data:\s*image\/(png|jpg|jpeg);base64,)/', $file, $result)){
知识来源: 0day5.com/archives/4400/

阅读:19364 | 评论:0 | 标签:cms

想收藏或者和大家分享这篇好文章→复制链接地址

“finecms前台任意文件上传”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

九层之台,起于垒土;黑客之术,始于阅读

推广

工具

标签云

本页关键词