【漏洞分析】Discuz!ML 3.x版本cookie注入漏洞分析

discuz.png

近期,白帽汇安全研究院监测到互联网上出现了Discuz!ML V3.X的代码注入漏洞。Discuz!ML是一款基于Discuz!X的多语种,全功能,且开源的互联网内容管理平台,能用于搭建论坛、博客、门户网站等一系列具有社交功能的互动网站并自行定制专用功能和组件。默认支持16种语言,并可继续添加其他语言。官方论坛为:http://codersclub.org/discuzx/。没找到和discuz官方的联系。

概况

由于Discuz!ML是基于Discuz!X开发而成,故全球统计数据以Discuz为目标。目前FOFA系统最新数据(一年内数据)显示全球范围内共有115762个基于Discuz的网站。中国使用数量最多,共有51453个,美国第二,共有41177个,中国香港第三,共有12392个,南非第四,共有1990个,中国台湾第五,共有972个。需要注意的是,由于这是开源项目,自行定制的网站很可能并不能及时发现。

全球范围内Discuz网站分布情况如下(仅为分布情况,非漏洞影响情况)

11.png

中国大陆地区北京市使用用数量最多,共有12356个,浙江省第二,共有6706台,江苏省第三,共有1901个,广东省第四,共有1854个,河南省第五,共有1458个。

中国大陆范围内Discuz网站分布情况如下(仅为分布情况,非漏洞影响情况)

22.png

危害等级

严重

漏洞原理

payload如下:

图片.png

首先打开portal.php,看到里面包含了class_core.php这个文件。

图片.png

查看class_core.php文件,这里调用了creatapp()方法,而在creatapp()方法中又调用了discuz_application的instance()方法。

图片.png

在instance()方法中实例化了discuz_application这个类。

图片.png

查看discuz_application的构造函数,调用了_init_input()方法,来格式化GPC等变量。

图片.png

查看"source/class/discuz/discuz_application.php"文件_init_input()方法。在251-253行,304-305行,341行。这里对用户的cookie进行遍历,去除前缀后赋值给了$var,将含有language的cookie值赋值给$lng,最后赋值给DISCUZ_LANG。当我们传入liTq_2132_language=en'.phpinfo().';的时候,DISCUZ_LANG的值为en'.phpinfo().'

图片.png

图片.png

图片.png

之后进入portal_index.php文件,这里调用了template()方法。

图片.png

找到function_core.php文件中的template()方法,最关键的一步,直接将前面的DISCUZ_LANG拼接赋值给了$cachefifle变量。$cachefile的值为en'.phpinfo().'

图片.png

之后将$cachefile作为checktplrefresh()方法的参数,更新缓存。

图片.png

跟进checktplrefresh()方法,这里又将$cachefile作为parse_template()方法的参数传了进去。

图片.png

查看parse_template()方法,在第74行将$cachefile拼接后赋值给了$headeradd,$cachefile的值为en'.phpinfo().' ,这时候闭合了单引号,然后赋值给了$template,最后写入缓存文件。

图片.png

图片.png

图片.png

我们查看缓存文件en'.phpinfo().'_1_1_common_header_portal_index.tpl.php。传入en'.phpinfo().' 闭合了单引号,写入了phpinfo(),后面包含这个文件,导致执行恶意代码。

图片.png

图片.png

该漏洞的触发点较多,不止portal.php。

漏洞影响

Discuz!ML v.3.x

CVE编号

##

暂无

POC

目前FOFA客户端平台已经更新针对该漏洞的检测POC。

图片.png

修复建议

在source/class/discuz/discuz_application.php如下位置加上红框中的代码。

图片.png


白帽汇从事信息安全,专注于安全大数据、企业威胁情报。

公司产品:FOFA-网络空间安全搜索引擎、FOEYE-网络空间检索系统、NOSEC安全讯息平台 - 白帽汇安全研究院。

为您提供:网络空间测绘、企业资产收集、企业威胁情报、应急响应服务。

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。查看原文

为您推荐