被挂马的第一症状通常不是网站打不开,而是搜索结果里出现你不认识的标题。排查按四步:先比对文件找出被改的部分,再回溯访问日志定位入口,然后清理,最后加固。跳过第二步,通常一周内会再中一次。
第一步:文件比对
用版本库或备份比对当前文件,被改动的文件会直接暴露——通常是首页、公共模板、.htaccess 和上传目录里的 PHP 文件。
静态站被改,多半是通过服务器或 FTP 账号进来;动态站则常走插件漏洞。
第二步:日志回溯
看入口文件最近被请求的时间点,往前推半小时的日志,找异常请求:可疑的 POST、异常 UA、陌生 IP 的连续访问。
不查日志就清理,等于把门留着。
第三步:清理
- 删除被注入的代码块(不要只注释掉)
- 替换被改的核心文件为原始版本
- 清空上传目录里的可执行脚本
- 改掉所有账号密码,包括 FTP、数据库、后台、SSH
第四步:加固
- 后台改路径、加二次验证、限制登录尝试
- 关闭不必要的写入权限
- 定期更新依赖
- 配置 WAF 或至少限制异常请求频率
搜索引擎侧
清理完后,在搜索后台提交重新抓取;如果出现安全警告,按提示做审核请求。这一步往往要等几天。
预防比补救省事:定期比对文件、留一份可还原的备份。备份方案见网站备份与回滚。
加固十项清单
被入侵过的站点,按这十项加固:
- 后台路径改名,不用默认地址
- 开启二次验证
- 限制登录尝试次数
- 删除未使用的插件与主题
- 关闭目录列表
- 上传目录禁止执行脚本
- 数据库账号只给必要权限
- 定期更新依赖
- 文件变更监控(定期比对哈希)
- 保留可还原的备份
十项里第 4、6 两项最常被忽略,也最常被利用——一个两年前装的插件、一个可执行的上传目录,就是入口。