全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 1575|回复: 2

ThinkPHP5.*版本发布安全更新

[复制链接]
发表于 2018-12-11 22:09:33 | 显示全部楼层 |阅读模式
2018 年 12 月 9 日 发布
本次版本更新主要涉及一个安全更新,由于框架对控制器名没有进行足够的检测会导致在没有开启强制路由的情况下可能的getshell漏洞,受影响的版本包括5.0和5.1版本,推荐尽快更新到最新版本。
更新框架修复
如果你使用composer安装,并且一直保持最新版本使用的话,使用下面的指令更新到最新版本即可

composer update topthink/framework
如果你使用了git版本库安装,也请及时更新你所用的仓库版本。

如果各种原因暂时无法更新到最新版本(早期版本升级到最新版本可能存在兼容性问题,请首先参考官方手册的升级指导章节),可以参考下面的方式进行手动修正。

手动修复
5.0版本
在think\App类的module方法的获取控制器的代码后面加上

if (!preg_match('/^[A-Za-z](\w|\.)*$/', $controller)) {
    throw new HttpException(404, 'controller not exists:' . $controller);
}
5.1版本
在think\route\dispatch\Url类的parseUrl方法,解析控制器后加上

if ($controller && !preg_match('/^[A-Za-z](\w|\.)*$/', $controller)) {
    throw new HttpException(404, 'controller not exists:' . $controller);
}

来源 : https://blog.thinkphp.cn/
发表于 2018-12-15 13:26:18 | 显示全部楼层
比较严重的漏洞
发表于 2018-12-16 16:49:04 | 显示全部楼层
谢谢 已经修补
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-4-20 16:25 , Processed in 0.057627 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表