thinkphp5+远程代码执行_【漏洞通告】ThinkPHP5 远程代码执行漏洞

1.综述

ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。最早诞生于2006年初,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。

ThinkPHP5中存在远程代码执行漏洞,该漏洞是由于框架的Request类中存在设计缺陷导致远程代码执行,最终攻击者可利用该漏洞获取系统权限。

2.漏洞概述

漏洞类型: 远程代码执行漏洞

危险等级: 高危

利用条件:ThinkPHP在受影响版本内

受影响系统:5.00-5.0.23

3.漏洞编号

暂未分配CVE

4.漏洞描述

ThinkPHP5中存在远程代码执行漏洞,该漏洞是由于框架的Request类中存在设计缺陷导致远程代码执行,最终攻击者可利用该漏洞获取系统权限。

5.修复建议

1. 请到官网下载升级到ThinkPHP 5.0.24 以上最新版本修复该漏洞,建议业务不繁忙时修复。

下载地址:https://github.com/top-think/think/releases 2. 如果暂时无法进行升级,可以参考官方给出的修复漏洞的补丁,自行增加相关代码。 更新地址:https://github.com/top-think/framework/commit/4a4b5e64fa4c46f851b4004005bff5f3196de003


缓解措施:

注:请业务侧注意测试升级后网站功能是否正常编辑 library/think/Request.php 文件,将以下部分

$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'])) {
   $this->method = $method;
   $this->{$this->method}($_POST);
    } else {
    $this->method = 'POST';
     }
unset($_POST[Config::get('var_method')]);

参考链接:

http://www.thinkphp.cn/topic/60992.html

315a7cb33b3c55f91ca1d521fcd346d2.png

1d7774c8ea7dda7d7844d7353091a5e4.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值