挂马扫描软件的数据通常来自三类地方:扫描器自带的特征与规则、向远程服务发起的查询或样本比对,以及被扫描网站自身产生的访问日志和文件内容。不同工具会混合使用这三类来源,因此判断结果是否可信,要先看它查的是“本地已知特征”,还是“远程实时情报”,或者只是“日志里的可疑访问”。
打开一份扫描报告,不要只看“发现多少个可疑文件”。先找这几类信息:
如果报告只给一个“高危”结论,却不说明依据,先把它当作待确认线索,而不是已经定位的原因。
本地特征与规则适合发现已知的挂马代码片段、常见混淆写法、异常脚本标签。它的优点是扫描快、不依赖外网;缺点是特征更新依赖工具方,遇到新变种可能漏报。判断时看规则日期和规则说明,而不是看工具名称。
远程查询或样本比对适合判断某个文件、域名或 IP 是否已被其他来源标记。它的数据来自工具服务端或第三方接口,因此结果会受接口覆盖范围、更新频率和查询条件影响。具体某个品牌是否提供、是否收费、免费额度多少,需要以该工具当前页面或文档为准,不能凭旧印象推断。
网站自身日志适合还原“什么时候、谁、通过什么请求”触发了可疑页面。它不直接告诉你文件是否被篡改,但能帮你确认挂马是否被访问过、入口大概在哪个路径。日志来源的数据必须和文件扫描结果交叉看,单靠日志不能断定文件被植入。
按“先缩小范围,再确认来源”的顺序安排:
举例来说,假设某工具报告 /cache/a.php 命中一条本地规则,同时远程查询显示该文件哈希被标记;另一个文件只在日志里出现异常参数。前者应优先隔离和复查,后者先确认请求是否真的执行了该文件。这里的具体文件路径和哈希只是假设,用于说明分组方法。
复查时做三件事:
如果复查后仍然无法确认来源,先记录已观察到的现象和已排除的原因,不要急着下“已经定位”的结论。一项异常可能有多个解释,例如文件被篡改、程序自身写入、缓存残留或日志误报,需要分别验证。
下一步:打开你正在使用的挂马扫描软件的报告,找到“规则说明”或“数据来源”一栏;如果没有,就先用文件哈希和访问日志各查一次,把结果按上面三类来源分开记录,再决定先处理哪一批。