ThinkPHP 6.0.0 - 6.0.1 任意文件操作漏洞

ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架 2020年1月10日,ThinkPHP官方发布了ThinkPHP v6.0.2的版本更新,该次更新修正sessionid检查的一处隐患,该隐患可导致任意文件操作漏洞。

漏洞名称:ThinkPHP 6.0.0 - 6.0.1 任意文件操作漏洞

威胁等级:高危

影响范围:ThinkPHP 6.0.0-ThinkPHP 6.0.1

漏洞类型:任意文件操作

利用难度:较难

漏洞分析

1 ThinkPHP组件介绍

ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache 2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。ThinkPHP可以支持windows/Unix/Linux等服务器环境,正式版需要PHP 5.0以上版本支持,支持MySql、PgSQL、Sqlite多种数据库以及PDO扩展,ThinkPHP框架本身没有什么特别模块要求,具体的应用系统运行环境要求视开发所涉及的模块决定。

ThinkPHP 6.0基于精简核心和统一用法两大原则在5.1的基础上对底层架构做了进一步的优化改进,并更加规范化。由于引入了一些新特性,ThinkPHP6.0运行环境要求PHP7.1+,不支持5.1的无缝升级。

2 漏洞描述

2020年1月10日,ThinkPHP官方发布了ThinkPHP v6.0.2的版本更新,该次更新修正sessionid检查的一处隐患,该隐患可导致任意文件操作漏洞。该漏洞允许攻击者在目标环境已启用了session的前提下,创建任意文件及删除任意文件,并且在特定的环境下,还可以getshell。

该漏洞是在存储session时导致的文件写入,当目标环境中开启了session功能,攻击者利用Cookie中的PHPSESSID值来创建任意文件。

3 漏洞复现

搭建ThinkPHP v6.0.0漏洞环境后,创建特定的Index controller后,复现漏洞:

影响范围

1 影响版本

目前受影响的ThinkPHP版本:ThinkPHP 6.0.0-6.0.1

2 影响范围

根据全网数据统计,使用ThinkPHP的网站多达33万余个,其中大部分集中在国内,约占使用量的75%以上。其中,浙江、北京、广东三省使用量最高,下边统计图中展示了ThinkPHP在国内使用量前十的地域。

修复建议

官方发布的最新版本已经修复了此漏洞,请受影响的用户下载最新版本防御此漏洞。

下载链接:

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

深信服解决方案

深信服下一代防火墙 】可轻松防御此漏洞, 建议部署深信服下一代防火墙的用户开启WAF安全防护,可轻松抵御此高危风险。

深信服云盾 】已第一时间从云端自动更新防护规则,云盾用户无需操作,即可轻松、快速防御此高危风险。

深信服安全感知平台 】可检测利用该漏洞的攻击,实时告警,并可联动【深信服下一代防火墙等产品】实现对攻击者ip的封堵。

2020/1/10

ThinkPHP官方团队在ThinkPHP v 6.0.2版本发布一则更新,该更新更新修正sessionid检查的一处隐患,该隐患会导致任意文件操作漏洞。

2020/1/21

深信服千里目安全实验室成功复现此漏洞。

点击 阅读原文 ,及时关注深信服智安全Wiki平台查询漏洞的产品解决方案(需登录)~

我来评几句
登录后评论

已发表评论数()

相关站点

热门文章