网站漏洞扫描工具给出的结果里,至少有三类需要人工复核:一是无法确认利用条件的疑似漏洞,二是与业务逻辑相关的访问控制问题,三是扫描器无法判断“是否已被利用”的痕迹类告警。扫描器擅长发现模式,不擅长理解业务上下文,所以它的输出应视为待验证线索,而不是最终结论。
不要按扫描器给的严重等级直接排期修复。先看漏洞类型:注入、跨站脚本、目录遍历这类有明确请求特征的,可以优先复现;信息泄露、配置建议、版本过旧这类,需要结合暴露面判断。复核顺序建议是:可远程利用且无需登录的优先,需要登录或特定角色的其次,仅影响内部或需要本地条件的最后。
复核的核心动作是独立复现。对每条高优先级告警,记录原始请求,去掉扫描器附加的探测载荷,再逐步加回,确认触发条件。例如扫描器报告某参数存在SQL注入,先发送正常值,再发送单引号,比较两次响应是否出现数据库报错或页面结构变化。这一步能区分“扫描器触发了通用错误页”和“参数真的进入了查询”。
如果复现需要登录态,先确认该账号的角色和权限范围。用低权限账号能触发的问题,风险高于仅管理员可触发的问题。复现失败时不要立刻删除告警,应记录失败原因:是环境差异、防护设备拦截,还是扫描器误报。
复核后通常有两种处理路径。第一种是直接修复,适用于复现成功、影响明确、修复方案不依赖业务重构的问题,比如输出编码缺失、请求方法未限制。第二种是先加监控再修复,适用于无法立即复现但理论上可被利用、或修复会影响线上业务的问题,比如某些越权访问需要配合特定数据状态才能触发。
判断依据可以列成检查项:能否稳定复现、是否需要认证、是否影响数据完整性、修复是否涉及接口契约变更。四项中若“能稳定复现”和“影响数据完整性”同时成立,优先直接修复;若只有理论影响且修复成本高,先加日志和告警,设定观察周期后再决定。
每一项的结论只写“已复现”“未复现”“无法判断”三种,避免用“可能”“大概”模糊处理。无法判断的条目应进入下一轮,而不是直接关闭。
复核完成后,把告警分成已确认漏洞、误报、待观察三类,并附上复现请求和判断依据。下一步是选取已确认漏洞中影响面最大的一条,完成修复并在测试环境重放验证,再决定是否需要用同一方法处理其余同类告警。