tp5.0.x 5.1.x 最新getshell漏洞

参考:https://www.phpmianshi.com/?id=102

概况

2018年12月09日thinkphp团队发布了版本更新:https://blog.thinkphp.cn/869075 ,其中修复了一处getshell漏洞。

影响范围

5.1.x < 5.1.315.0.x<= 5.0.23

 

实战演练

 

比如5.0.7漏洞利用方法:

 

https://www.phpmianshi.com/?s=index/\think\app/invokefunction&function=phpinfo&vars[0]=1

 

可以看到phpinfo信息

 

修复方法

 

5.0.x版本修复:新增红色代码:

// 获取控制器名

vi thinkphp/library/think/App.php

 

$controller = strip_tags($result[1] ?: $config['default_controller']);

if (!preg_match('/^[A-Za-z][\w\.]*$/', $controller)) {

throw new HttpException(404, 'controller not exists:' . $controller);

}

$controller = $convert ? strtolower($controller) : $controller;

 

修复后看不到phpinfo信息

 

5.1.x版本修复:

vi thinkphp/library/think/route/dispatch/Module.php

找到 // 获取控制器名

// 获取控制器名

$controller       = strip_tags($result[1] ?: $this->rule->getConfig('default_controller'));

if (!preg_match('/^[A-Za-z][\w\.]*$/', $controller)) {

throw new HttpException(404, 'controller not exists:' . $controller);

}

 

官方现已推出补丁 建议开发者进行修复,但是下面这2个补丁不支持分层控制器,最好用我上面的或者升级最新版本

Thinkphp v5.0.x补丁地址: https://github.com/top-think/framework/commit/b797d72352e6b4eb0e11b6bc2a2ef25907b7756f

Thinkphp v5.1.x补丁地址: https://github.com/top-think/framework/commit/802f284bec821a608e7543d91126abc5901b2815

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值