Thinkphp5.0.0~5.0.23版本远程代码执行漏洞导致网站被挂马

最近发现多个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')]);

你可能感兴趣的:(Thinkphp5.0.0~5.0.23版本远程代码执行漏洞导致网站被挂马)