91A网络 聊聊项目

网站被挂马:常见入口与排查顺序

网站建设博客 · · 约 4 分钟

被挂马的第一症状通常不是网站打不开,而是搜索结果里出现你不认识的标题。排查按四步:先比对文件找出被改的部分,再回溯访问日志定位入口,然后清理,最后加固。跳过第二步,通常一周内会再中一次。

第一步:文件比对

用版本库或备份比对当前文件,被改动的文件会直接暴露——通常是首页、公共模板、.htaccess 和上传目录里的 PHP 文件。

静态站被改,多半是通过服务器或 FTP 账号进来;动态站则常走插件漏洞。

第二步:日志回溯

看入口文件最近被请求的时间点,往前推半小时的日志,找异常请求:可疑的 POST、异常 UA、陌生 IP 的连续访问。

不查日志就清理,等于把门留着。

第三步:清理

  • 删除被注入的代码块(不要只注释掉)
  • 替换被改的核心文件为原始版本
  • 清空上传目录里的可执行脚本
  • 改掉所有账号密码,包括 FTP、数据库、后台、SSH

第四步:加固

  • 后台改路径、加二次验证、限制登录尝试
  • 关闭不必要的写入权限
  • 定期更新依赖
  • 配置 WAF 或至少限制异常请求频率

搜索引擎侧

清理完后,在搜索后台提交重新抓取;如果出现安全警告,按提示做审核请求。这一步往往要等几天。

预防比补救省事:定期比对文件、留一份可还原的备份。备份方案见网站备份与回滚。

加固十项清单

被入侵过的站点,按这十项加固:

  1. 后台路径改名,不用默认地址
  2. 开启二次验证
  3. 限制登录尝试次数
  4. 删除未使用的插件与主题
  5. 关闭目录列表
  6. 上传目录禁止执行脚本
  7. 数据库账号只给必要权限
  8. 定期更新依赖
  9. 文件变更监控(定期比对哈希)
  10. 保留可还原的备份

十项里第 4、6 两项最常被忽略,也最常被利用——一个两年前装的插件、一个可执行的上传目录,就是入口。

常见问题

静态站也会被挂马吗?
会,但入口不同:通常通过服务器权限、FTP 账号或第三方脚本。因为页面就是文件,改完即生效,反而更容易被发现。
清理完还要做什么?
改密码、查日志确认入口、装监控定期比对文件。只清理不改密码,复发概率很高。
要不要装安全插件?
可以装,但别指望它替代基本的账号与权限管理。

说说你的目标,我们给一份可执行的清单

先做一次诊断,再决定做哪几项。不签长约也能拿到结论。