安全预警 漏洞:ThinkPHP远程代码执行 等级:高危 影响范围: ThinkPHP 5.0和5.1版本 漏洞描述: 本次版本更新主要涉及一个安全更新,由于框架对控制器名没有进行足够的检测会导致在没有开启强制路由的情况下可能的getshell漏洞。 修复方案: 推荐尽快更新到最新版本 如果暂时无法更新到最新版本,可以参考下面的版本库代码记录,自行增加相关代码。 V5.1.31主要更新日志
V5.0.23主要更新日志
| |
受影响产品及版本: | |
thinkphp 5.0 thinkphp 5.1 | |
解决方案: | |
本次版本更新主要涉及一个安全更新,由于框架对控制器名没有进行足够的检测会导致在没有开启强制路由的情况下可能的 |
ok 升级了
手工在 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);
}
即可完成修复