最近发现多个 Thinkphp5 开发的网站被挂马,导致首页被篡改,其他页面无法正常访问的情况。
木马中均包含以下代码:
define('Viv, bebegim.','Denzel-你的英雄');
经过检查,这些攻击是利用了 Thinkphp5.0.0~5.0.23 版本远程进行代码调用的漏洞进行的 getshell。
漏洞的详细原理参见:https://seaii-blog.com/index.php/2019/01/14/88.html
Thinkphp5 官方已经发布了安全更新版本:ThinkPHP5.0.24 版本发布——安全更新
请各位使用到漏洞版本的开发人员尽快更新到 5.0.24 版本及以上。
如果不方便更新到最新版本,那么可以按照最新版本的 Request 类的 method 方法进行手动修复,具体如下:
打开/thinkphp/library/think/Request.php 文件,找到 method 方法(约 496 行),修改下面代码:
$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')]);
声明:1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。







