ThinkPHP5 5.0.23 远程代码执行漏洞复现-分析

本文详细介绍了ThinkPHP5.0.23版本的一个远程代码执行漏洞,该漏洞源于获取method方法的不当处理,允许攻击者调用Request类的任意方法。复现过程中,通过不同payload展示了命令执行、写入webshell及反弹shell的情况,影响范围包括ThinkPHP 5.0.0到5.0.23。
摘要由CSDN通过智能技术生成

漏洞简述

ThinkPHP是一款运用极广的PHP开发框架。其5.0.23以前的版本中,获取method的方法中没有正确处理方法名,导致攻击者可以调用Request类任意方法并构造利用链,从而导致远程代码执行漏洞。

关键代码

@@ -522,8 +522,11 @@ public function method($method = false)
            return $this->server('REQUEST_METHOD') ?: 'GET';
        } elseif (!$this->method) {
   
            if (isset($_POST[Config::get('var_method')])) {
   
                $this->method = strtoupper($_POST[Config::get('var_method')]);
                $this->{
   $this->method}($_POST);
                $method = strtoupper($_POST[Config::get('var_method')]);
                if (in_array($method, ['GET', 'POST', 'DELETE', 'PUT', 'PATCH'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

five~~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值