欢迎光临
我们一直在努力

ThinkPHP高危安全漏洞,攻击者可直接获取服务器权限,请尽快升级官方安全更新

2018年12月9日ThinkPHP官方发布一次重要安全更新,本次版本更新主要涉及一个ThinkPHP5.0.*-5.1.*的全系列安全漏洞,由于框架对控制器名没有进行足够的检测会导致在没有开启强制路由的情况下可能的getshell漏洞,也就是攻击者可以构造特定的恶意请求直接获取服务器权限。请广大ThinkPHP开发者尽快更新到该版本!

更新框架修复

如果你使用composer安装,并且一直保持最新版本使用的话,使用下面的指令更新到最新版本即可

  composer update topthink/framework

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

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

手动修复

5.0版本:在thinkApp类的module方法的获取控制器的代码后面加上

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

ThinkPHP高危安全漏洞,攻击者可直接获取服务器权限,请尽快升级官方安全更新

5.1版本:在thinkroutedispatchUrl类的parseUrl方法,解析控制器后加上

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

ThinkPHP高危安全漏洞,攻击者可直接获取服务器权限,请尽快升级官方安全更新

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《ThinkPHP高危安全漏洞,攻击者可直接获取服务器权限,请尽快升级官方安全更新》
文章链接:https://www.ruiwuer.com/189.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。