1、基本情况
DEDECMS 5.7 SP2 最新版本中存在文件上传漏洞,具有管理员权限者可利用该漏洞上传并getshell执行任意PHP代码。
该漏洞要求管理员权限登录,并且要开启会员功能,这个功能在默认情况下是不开启,需要管理员手动开启。
2、攻击原理
下载最新版本的dedecms源码,在本地安装完成后,打开会员登录功能,然后登录会员中心,来到如下界面:
选择一张图片马文件,再点击上传到服务器上,截断数据包并将1.jpg改为1.jpg.p*hp即可绕过限制成功上传。
上传成功后的文件名和文件位置如下:
连接木马文件后可获取网站webshell。
3、影响范围
DEDECMS 5.7 SP2
4、处置建议
1)文件后缀名检测进行重写。
2)对上传文件名进行统一重命名,后缀名只允许为image type类型。
3)对上传文件夹进行限制,不允许执行php。
4)直接进行代码层面的修改。对于受影响的正则表达式进行强化。限定$cfg_imgtype固定结尾的文件。
include/dialog/select_images_post.php
if(!preg_match("#\.(".$cfg_imgtype.")#i", $imgfile_name))
->
if(!preg_match("#\.(".$cfg_imgtype.")$#i", $imgfile_name))
5、 参考链接
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-20129