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 ...
随机推荐
- JavaScript数组的push()等方法的使用
数组是值得有序集合.每个值在数组中有一个位置,用数字表示,叫做索引.JavaScript数组是无类型的:数组元素可以是任何类型,而且同一个数组中可以存在不同类型元素,甚至可以是对象或是其他数组,这就可 ...
- 微软要放弃Electron了???聊聊WebView2
有好几个公众号发文说"微软要放弃Electron了",实际情况是微软旗下的Teams产品打算把Electron框架换成WebView2而已.接下来我就聊一下这个事情: 微软不会放弃 ...
- Oracle根据约束条件名称查找对应的数据
select * from dba_constraints where constraint_name = 'SYS_C0082752'
- Spring整合redis实现key过期事件监听
打开redis服务的配置文件 添加notify-keyspace-events Ex 如果是注释了,就取消注释 这个是在以下基础上进行添加的 Spring整合redis:https://www. ...
- 人工智能论文解读精选 | PRGC:一种新的联合关系抽取模型
NLP论文解读 原创•作者 | 小欣 论文标题:PRGC: Potential Relation and Global Correspondence Based Joint Relational ...
- GoLang设计模式18 - 适配器模式
说明 适配器模式是一种结构型设计模式.我们用常用的两种笔记本电脑来说明一下这种设计模式. 我们常用的笔记本无非是这两大类: Macbook Pro Windows Laptop 当前这两类笔记本常见的 ...
- 【LeetCode】1101. The Earliest Moment When Everyone Become Friends 解题报告 (C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 并查集 日期 题目地址:https://leetcod ...
- 【九度OJ】题目1467:二叉排序树 解题报告
[九度OJ]题目1467:二叉排序树 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1467 题目描述: 二叉排序树,也称为二叉查找树 ...
- 【剑指Offer】二叉搜索树的第k个结点 解题报告(Python)
[剑指Offer]二叉搜索树的第k个结点 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-intervie ...
- Manthan, Codefest 16 D. Fibonacci-ish
D. Fibonacci-ish time limit per test 3 seconds memory limit per test 512 megabytes input standard in ...