Discuz!X V3.4后台任意文件删除
Discuz!X V3.4后台任意文件删除
简述
该漏洞为后台任意文件删除,需要有管理员的权限,所以说危害非常小
复现环境
docker、vulhub-master
项目地址:https://gitee.com/ComsenzDiscuz/DiscuzX/tree/master
漏洞复现
启动环境docker-compose up -d
安装Discuz!X V3.4 数据库名设置为db
访问后台并登录http://your-ip/admin.php
进入论坛->模块管理->编辑板块

使用burp拦截”提交“的数据。

在请求包中添加如下参数 &replybgnew=../../../robots.txt&delreplybg=1
发送请求包,前后对比一下,发现目录中的文件(robots.txt)已经被删除了


代码分析
首先看我们的请求
admin.php?action=forums&operation=edit&fid=2&replybgnew=../../../robots.txt&delreplybg=1
admin.php中接收了action参数后经过actioncpfile处理后返回文件路径并包含。
actioncpfile函数
function admincpfile($action)
{
return './source/admincp/admincp_'.$action.'.php';
}
返回admincp_forums.php,漏洞出现在该文件中
漏洞代码
if(!$multiset) {
if($_GET['delreplybg']) {
$valueparse = parse_url($_GET['replybgnew']);
if(!isset($valueparse['host']) && file_exists($_G['setting']['attachurl'].'common/'.$_GET['replybgnew'])) {
@unlink($_G['setting']['attachurl'].'common/'.$_GET['replybgnew']);
}
$_GET['replybgnew'] = '';
......
......
}
第一个if语句
当$multiset为0进入if语句,由491行代码可知multiset参数默认为0,所以只要不传入该参数或者置空即可
第二个if语句
GET参数delreplybg 其中利用了parse_url来判断有没有host,来确保GET参数是replybgnew而不是URL
$_G['setting']['attachurl'的值为data/attachment/common/[replybgnew],这个就是可控的删除路径
漏洞修复
需要有管理员的权限,危害很小,目前网上没找到修复
Discuz!X V3.4后台任意文件删除的更多相关文章
- Discuz!X 3.4 前台任意文件删除漏洞复现
Discuz!X 3.4 前台任意文件删除漏洞复现 参考链接: http://www.freebuf.com/vuls/149904.html http://www.freebuf.com/artic ...
- PHP:网展cms后台任意文件删除和sql注入
0x01:目录结构 可以发现Frameword是框架的文件 install安装 public公共文件 uploads储存上传之类的文件 webuser后台文件 Home前台文件 0x02.csrf漏洞 ...
- ThinkSNS2.5前台getshell+后台任意文件删除
12年爆出的一个洞 前几天比赛的一个cms 于是跟出题人表哥要过来审计了看看 漏洞文件再根目录thumb.php中 <?php /* * 自动缩略图 参数 url|w|h|type=" ...
- 【代码审计】iZhanCMS_v2.1 后台任意文件删除漏洞分析
0x00 环境准备 iZhanCMS官网:http://www.izhancms.com 网站源码版本:爱站CMS(zend6.0) V2.1 程序源码下载:http://www.izhancms ...
- 【代码审计】CLTPHP_v5.5.3后台任意文件删除漏洞分析
0x00 环境准备 CLTPHP官网:http://www.cltphp.com 网站源码版本:CLTPHP内容管理系统5.5.3版本 程序源码下载:https://gitee.com/chich ...
- HDWIKI6.0后台任意文件删除/下载
- [代码审计]phpshe开源商城后台两处任意文件删除至getshell
0x00 背景 这套系统审了很久了,审计的版本是1.6,前台审不出个所以然来.前台的限制做的很死. 入库的数据都是经过mysql_real_escape_string,htmlspecialchars ...
- 【代码审计】XYHCMS V3.5任意文件删除漏洞分析
0x00 环境准备 XYHCMS官网:http://www.xyhcms.com/ 网站源码版本:XYHCMS V3.5(2017-12-04 更新) 程序源码下载:http://www.xyhc ...
- Discuz!X 3.4 任意文件删除漏洞复现过程(附python脚本)
今天看下群里在讨论Discuz!X 3.4 任意文件删除漏洞,自己做了一些测试,记录一下过程.结尾附上自己编写的python脚本,自动化实现任意文件删除. 具体漏洞,请查看 https://paper ...
随机推荐
- mapbox获取各种经纬度
点击地图即可获取经纬度,也可以手动输入经纬度来换算 在线查看运行效果 实现方法 mapbox中通过地图点击事件来获取到坐标,然后转换为其他的坐标系并输出在屏幕上即可 获取坐标 方法很简单,给地图添加一 ...
- SpringMVC编程:初始化项目部署后,主页404代码问题解决
SpringMVC 主页404问题 初始化项目后,Tomcat服务器显示404报错问题! 问题解决的原因是:项目依赖的jar包没有随着项目一块打包部署在Tomcat服务器上面,即缺少项目lib依赖. ...
- restTemplate 接收list数据
User[] users= restTemplate.getForObject(url, User[].class); 使用数组接收
- nim_duilib(5)之option
introduction 更多控件用法,请参考 here 和 源码. 本文的代码基于这里 xml文件添加代码 基于上一篇, 继续向basic.xml中添加下面关于Option的代码. xml完整源码在 ...
- nim_duilib(3)之按钮
introduction 更多控件用法,请参考 here 和 源码. 本文的代码基于这里 lets go xml文件添加代码 下面的xml文件内容,删除label控件的相关代码,增加了3个按钮. 其中 ...
- 【LeetCode】342. Power of Four 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 递归 迭代 位运算 函数法 日期 [LeetCode ...
- web安全之xss跨站脚本攻击
实验(一) 一.预备知识 1.HTML基础知识 2.phpstudy运用 3.xss的分类 二.实验环境 1.火狐浏览器.Chrome浏览器 2.phpstudy 三.环境搭建 反射型xss环 ...
- Chapter 9 Measurement Bias
目录 9.1 Measurement Error The structure of measurement error 9.3 Mismeasured confounders 9.4 Intentio ...
- AUGMIX : A SIMPLE DATA PROCESSING METHOD TO IMPROVE ROBUSTNESS AND UNCERTAINTY
目录 概 主要内容 实验的指标 Dan Hendrycks, Norman Mu,, et. al, AUGMIX : A SIMPLE DATA PROCESSING METHOD TO IMPRO ...
- Spring Boot 2 中的默认日志管理与 Logback 配置详解
Spring Boot在所有内部日志中使用Commons Logging,但是对底层日志的实现是开放的.在Spring Boot生态中,为Java Util Logging .Log4J2 和Logb ...