【漏洞通报】Thinkphp 多语言模块命令执行漏洞

xiannv  712天前

Image

一、      漏洞概述

ThinkPHP 是一个快速、简单的面向对象的轻量级 PHP 开发框架,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。

如果 Thinkphp 程序开启了多语言功能,攻击者可以通过 get、header、cookie 等位置传入参数,实现目录穿越+文件包含,通过 pearcmd 文件包含这个 trick 即可实现 RCE。

二、      影响范围

本次漏洞影响范围如下:

v6.0.1 < Thinkphp < v6.0.13
Thinkphp v5.0.x
Thinkphp v5.1.x

FOFA Query:

header="think_lang"

根据目前FOFA系统最新数据(一年内数据),显示全球范围内(header="think_lang")共有 73,302 个相关服务对外开放。中国使用数量最多,共有44,788 个;美国第二,共有 12,295;中国香港特别行政区第三,共有5,009 个;新加坡第四,共有 896 个;日本第五,共有 246 个。

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

1.png

中国大陆地区北京使用数量最多,共有 7,254 个;浙江第二,共有 6,738 个;广东第三,共有 5,249 个;山东第四,共有 2,220 个;上海第五,共有 1,771 个。

2.png

三、      漏洞环境

目前 Vulfocus 已经集成 ThinkPHP 环境,可通过以下链接启动环境测试:

thinkphplang 命令执行漏洞

也可通过命令:

docker pull vulfocus/thinkphp:6.0.12

进行拉取运行,也可通过 http://vulfocus.cn/ 进行测试。

3.png

四、      漏洞复现

白帽汇安全研究院第一时间对漏洞进行了复现:

lQLPJxxB9_YVSzzNBgDNCPywuD-IFvqxpWADj5ILNcBJAA_2300_1536.png


五、      修复建议

官方已经针对漏洞发布了安全更新,请及时更新,地址如下:

https://github.com/top-think/framework/commit/c4acb8b4001b98a0078eda25840d33e295a7f099

六、      参考链接

[1.]  https://github.com/top-think/framework/commit/c4acb8b4001b98a0078eda25840d33e295a7f099

[2.]  https://tttang.com/archive/1865/

最新评论

昵称
邮箱
提交评论