内容简介:报告编号:B6-2018-121101报告来源:360-CERT报告作者:360-CERT
报告编号:B6-2018-121101
报告来源:360-CERT
报告作者:360-CERT
更新日期:2018-12-11
0x00 事件背景
2018-12-10 ThinkPHP5系列发布安全更新,该安全更新修复了一处严重漏洞,该漏洞可导致(php/系统)代码执行。
由于框架对控制器名没有进行足够的检测会导致在没有开启强制路由的情况下可能的getshell漏洞
0x01 影响范围
ThinkPHP 5.x
- 5.1.x ~ 5.1.31
- 5.0.x ~ 5.0.23
0x02 修复建议
官方在更新公告中的修复方案是
如果暂时无法更新到最新版本,请开启强制路由并添加相应未定义路由,或者参考commit的修改 增加相关代码。
0x03 漏洞验证
0x04 漏洞分析
在实际分析中,tp的结构和源码在各个分支版本中变化较大。此处仅以5.0.20版本的源代码作为示例进行分析
thinkphp/library/think/App.php
根据上述代码不难看出,tp在处理路由的过程中,使用了Config::get('var_pathinfo')来作为接收处理pathinfo,而这个值在默认情况下为s,那么就会形成一个调用过程:index.php?s=index/\namespace\class/method
经过初始化和处理后,如果你传递的path合理,那么经过check后是会返回为一个module,并且在接下来的exec处理中就会针对其做对应处理
通过invokeMethod进行构建出的class进行调用
调用至invokeFunction完成整个调用后返回执行结果
至此该漏洞在5.0.20的一种命令执行的方式已经实现。
0x05 时间线
2018-12-10 ThinkPHP官方发布公告
2018-12-11 360CERT发布预警分析
0x06 参考链接
ThinkPHP5系列发布安全更新 - ThinkPHP框架
声明:本文来自360CERT,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如需转载,请联系原作者获取授权。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 漏洞预警 | Adobe ColdFusion远程命令执行漏洞预警(CVE-2018-15961)
- 漏洞预警 | ThinkPHP5远程命令执行漏洞
- Influxdb 认证绕过漏洞预警
- 漏洞预警 | MetInfo最新版本爆出SQL注入漏洞
- 【漏洞预警】Coremail邮件系统配置文件信息泄露漏洞
- 【漏洞预警】Joomla!3.7.0 Core SQL注入漏洞
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Algorithms Unlocked
Thomas H. Cormen / The MIT Press / 2013-3-1 / USD 25.00
Have you ever wondered how your GPS can find the fastest way to your destination, selecting one route from seemingly countless possibilities in mere seconds? How your credit card account number is pro......一起来看看 《Algorithms Unlocked》 这本书的介绍吧!
RGB转16进制工具
RGB HEX 互转工具
XML 在线格式化
在线 XML 格式化压缩工具