本文最后更新于 2019年01月15日 16:02 可能会因为没有更新而失效。如已失效或需要修正,请留言!

序言

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


漏洞分析:

文件位置:\thinkphp\library\think\Request.php

其中:

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

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

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

访问如下图所示:

Thinkphp5.1 ~ 5.2 全版本代码执行-ChaBug安全

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

如何触发:

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

Thinkphp5.1 ~ 5.2 全版本代码执行-ChaBug安全

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

Payload(POST请求):

Thinkphp5.1 ~ 5.2 全版本代码执行-ChaBug安全

弹出计算器

喜欢这篇文章的话就点一点喜欢吧!