当前位置: 首页 > news >正文

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,删除掉

四、静等再次攻击


http://www.mrgr.cn/news/13649.html

相关文章:

  • mac上编译redis ,报错fstat64
  • 网络安全售前入门05安全服务——渗透测试服务方案
  • Kafka篇之清理或创建topic
  • 如何将ip地址随机更换
  • VS2022 QT环境显示中文乱码问题
  • Qt与SVG
  • 【图像】灰度图与RGB图像的窗宽、窗位的值范围二三问
  • 数据结构之 “单链表“
  • vue3编程 -动态多开模态框实现方案
  • MySQL中的事务
  • [英语单词] unsound
  • 19行为型设计模式——备忘录模式
  • Uniapp 调用aar、jar包
  • 学习笔记——Redis基础
  • ★ 算法OJ题 ★ 力扣1089 - 复写零
  • Java 结合elasticsearch-ik分词器,实现评论的违规词汇脱敏等操作
  • 2024.8.28 作业
  • Spring:浅谈对Spring的认识
  • 【微信小程序】全局数据共享 - MobX
  • 【学习笔记】 陈强-机器学习-Python-Ch13 提升法(1)