天天看点

ThinkPHP V5.0.5漏洞_Thinkphp5.x 全版本通杀漏洞分析

ThinkPHP V5.0.5漏洞_Thinkphp5.x 全版本通杀漏洞分析

序言

最近爆出了Thinkphp5.0.*全版本代码执行,其中5.1与5.2全版本在生产环境下下同样也存在代码执行

漏洞分析:

文件位置:

\thinkphp\library\think\Request.php

ThinkPHP V5.0.5漏洞_Thinkphp5.x 全版本通杀漏洞分析

其中:

$this->method    = strtoupper($_POST[$this->config['var_method']]);$method          = strtolower($this->method);$this->{$method} = $_POST;
           

$method变量是$this->method,其同等于POST的”_method”参数值

然后该处存在一个变量覆盖

我们可以覆盖 $filter 属性值(POC如下)

c
           

访问如下图所示:

ThinkPHP V5.0.5漏洞_Thinkphp5.x 全版本通杀漏洞分析

会爆出一个警告级别的异常,导致程序终止

如何触发:

如果设置忽略异常提示,如下图:

ThinkPHP V5.0.5漏洞_Thinkphp5.x 全版本通杀漏洞分析

本身项目发布就需要屏蔽异常和错误所以这个配置是一个正常的配置

Payload(POST请求):

ThinkPHP V5.0.5漏洞_Thinkphp5.x 全版本通杀漏洞分析

弹出计算器