首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ThinkPHP 5.0.X/5.1.X版本存在远程代码执行漏洞

安恒信息

网络安全前沿资讯、 应急响应解决方案、技术热点深度解读

关注

1.漏洞描述

ThinkPHP是一个免费开源的快速、简单、面向对象的轻量级PHP开发框架,是为了敏捷Web应用开发和简化企业应用开发而诞生。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。遵循Apache2开源许可协议发布,意味着用户可以免费使用ThinkPHP,甚至允许把基于ThinkPHP开发的应用开源或商业产品发布/销售。

ThinkPHP 5.0版本是一个颠覆和重构版本,采用全新的架构思想,引入了更多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性加载,支持composer,并针对API开发做了大量的优化,包括路由、日志、异常、模型、数据库、模板引擎和验证等模块都已经重构,不适合原有3.2项目的升级。

2018年12月9日ThinkPHP官方博客发布ThinkPHP 5.*版本安全更新称,由于框架对控制器名没有进行足够的检测,会导致在没有开启强制路由的情况下可能的getshell漏洞,受影响的版本包括5.0和5.1版本,推荐尽快更新到最新版本。

2.影响范围

5.0版本的受影响范围为:小于V5.0.23版本

5.1版本的受影响范围为 :小于V5.1.31版本

3.利用前置条件

没有开启强制路由。

4.修复建议

(一)升级版本至最新版本:

当前ThinkPHP官方已经发布补丁,升级至最新版本修复该漏洞问题。

ThinkPHP 5.0.X版本,升级至最新的5.0.23版本,完整版本下载地址:

https://github.com/top-think/framework/tree/v5.0.23 或

http://www.thinkphp.cn/donate/download/id/1278.html

Think PHP5.1.X版本,升级至最新的5.1.31版本,完整版本下载地址:

https://github.com/top-think/framework/tree/v5.1.31

(二)临时缓解措施:

开启强制路由,打开以下参数配置:

(默认的配置文件,在application/config.php中)

'url_route_on' => true,

'url_route_must'=> true,

5.测试POC

可以通过以下POC,进行漏洞的有效性测试,以测试是否确实存在远程代码执行漏洞:

http://127.0.0.1:8888/index.php?s=index/\think\Request/input&data[]=id&name=0&filter=phpinfo

(注意:如果此POC未能触发phpinfo函数执行,并不代表漏洞不存在,受配置和版本影响,可能存在一定差异。强烈建议升级至最新版本)

漏洞风险不要怕

目前安恒信息

玄武盾

明御APT攻击(网络战)预警平台

扫描器产品线

均已支持对该漏洞的检测!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181212A0LPJ800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券