跟著小编一起动手操作吧!
ThinkPHP5远程代码执行漏洞
实验内容
ThinkPHP是一个免费开源的快速、简单、面向对象的轻量级PHP开发框架,是为了敏捷Web应用开发和简化企业应用开发而诞生。
ThinkPHP 5.0版本是一个颠覆和重构版本,采用全新的架构思想,引入了更多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性载入,支持composer,并针对API开发做了大量的优化。
ThinkPHP官方2018年12月9日发布修复了一个严重的远程代码执行漏洞。该更新主要涉及一个安全更新,由于框架对控制器名没有进行足够的检测会导致在没有开启强制路由的情况下可能的getshell漏洞。
受影响的版本包括5.0和5.1版本,推荐尽快更新到最新版本。
原理
这个漏洞是由于框架对控制器名没有进行足够的检测而导致在没有开启强制路由的情况下可能的getshell。因此漏洞的触发在路由调度时。
Thinkphp中是由函数pathinfo()来获取路由的,因此我们可以搜索关键词pathinfo
,来定位函数。