用挂马检测工具扫出异常后,不要直接照着告警逐条修。正确起点是把“工具报告的现象”和“你推测的原因”分开记录,建立一份待验证原因清单:每条原因都要写清支持证据、反证条件、验证动作和验证代价,再按代价从低到高逐项排查。
挂马检测工具的告警通常只是现象,例如某页面被插入可疑脚本、某文件被修改、访问时跳转到站外地址。现象本身不等于原因。原因可能是程序漏洞被利用、后台账号被盗、主题或插件被植入代码、服务器被入侵,也可能是误报或正常业务代码被规则命中。
建立清单时,把每条内容拆成三列:观察到的现象、可能的原因、当前证据强度。证据强度可以简单标为“仅告警”“有旁证”“已复现”。只有达到“已复现”或找到直接痕迹,才把该项从待验证升级为已定位。
可以按下面的结构逐条填写,每条原因占一行或一个卡片:
清单不必一次写全,先列出三到五条最可能的原因即可。关键是每条都能被验证或排除,而不是停留在猜测。
第一次接触这个问题,容易先做最激烈的操作,例如直接删文件或重装。更稳妥的顺序是先做低代价、可逆的检查:
如果低代价检查已经能排除某条假设,就把它标记为“已排除”,不要重复验证。如果某条假设需要停机或覆盖数据才能验证,先确认它是否值得付出这个代价。
保留在清单上的原因应满足两个条件:有可观察的线索,且验证动作能给出明确结果。例如“服务器被入侵”范围太大,可以拆成“是否存在未知的定时任务”“是否有异常登录来源”“是否有非本人创建的管理账号”。拆细之后,每条都能用具体命令或日志核对。
反过来,像“可能是搜索引擎惩罚”这类无法从站内直接验证的假设,不应和文件篡改混在同一优先级里。挂马检测工具的报告属于站内技术线索,和搜索排名变化是不同层面的问题,需要分开记录。
从清单中挑一条代价最低、结果最明确的原因,完成验证并更新状态。例如先比对首页模板文件与备份是否一致:一致则排除该文件被篡改,不一致则记录差异位置,再判断差异是否包含可疑代码。完成这一条后,再进入下一条,不要同时展开所有排查。