【漏洞通报】Thinkphp 多语言模块命令执行漏洞
一、 漏洞概述
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 个。
全球范围内分布情况如下(仅为分布情况,非漏洞影响情况):
中国大陆地区北京使用数量最多,共有 7,254 个;浙江第二,共有 6,738 个;广东第三,共有 5,249 个;山东第四,共有 2,220 个;上海第五,共有 1,771 个。
三、 漏洞环境
目前 Vulfocus 已经集成 ThinkPHP 环境,可通过以下链接启动环境测试:
也可通过命令:
docker pull vulfocus/thinkphp:6.0.12
进行拉取运行,也可通过 http://vulfocus.cn/ 进行测试。
四、 漏洞复现
白帽汇安全研究院第一时间对漏洞进行了复现:
五、 修复建议
官方已经针对漏洞发布了安全更新,请及时更新,地址如下:
https://github.com/top-think/framework/commit/c4acb8b4001b98a0078eda25840d33e295a7f099
六、 参考链接
[1.] https://github.com/top-think/framework/commit/c4acb8b4001b98a0078eda25840d33e295a7f099
最新评论