Thinkphp5网站被挂马解决方案

近期,仍有不少境外菠菜在攻击大家的服务器,被挂马以后网站不能正常访问、跳转第三方网站等等情况均有发生。
废话不多说,直接上解决方案。

一、补上漏洞

有些攻击是利用了Thinkphp5.0.0~5.0.23版本远程进行代码调用的漏洞进行的getshell。
漏洞的详细原理参见:https://seaii-blog.com/index.php/2019/01/14/88.html
甭管有没有,先把这个堵上。
打开/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')]);

二、禁用底层加载classmap.php文件

打开/thinkphp/library/think/Loader.php文件(约313行),注释下面的代码:

// 加载类库映射文件
//if (is_file(RUNTIME_PATH . 'classmap' . EXT)) {
//    self::addClassMap(__include_file(RUNTIME_PATH . 'classmap' . EXT));
//}

三、runtime文件夹下面假如有classmap.php,删除掉

四、静等再次攻击

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值