为什么漏洞管理服务多次扫描结果不一致?
动态扫描(DAST)的结果由多种因素决定,多次扫描结果可能存在不一致的情况,如某类漏洞的数量存在差异,在扫描结果相差不大的情况下,结合多份扫描结果的内容进行分析,关注漏洞是否存在即可。
下面将解释扫描结果不一致的原因。
漏洞管理服务工作机制
漏洞管理服务从客户端的角度,模拟黑客向测试目标发起攻击,根据网站的响应(内容、时间等信息)来判断是否存在漏洞。
- 根据登录信息登录测试目标
- 主动爬虫爬取相关目标
- 发送攻击报文进行测试
- 根据响应内容判断漏洞存在
影响因素
结合漏洞管理服务工作机制,我们可以得出影响扫描结果的以下几个关键因素,这些因素在多次扫描中的差异,会最终导致多次扫描结果的不一致。
- 会话维持
如果登录信息存在问题,漏洞管理服务将无法登录进目标系统,只能进行测试目标外围的信息探测,从而影响扫描结果。常见的可能原因有:
- 用户名密码被更改
- Cookie/Token 等信息失效,结合业务本身的Cookie/Token等会话机制判断
- 业务自身的会话机制
- 多因子认证:验证码、短信等等。
- 异地登录限制。
- 登录频率限制。
- 异常请求等强制中断会话。
- 单用户登录(不允许多个客户端同时登录)。
- 登录失败次数限制。
- 扫描范围
漏洞管理服务主动爬虫会通过自动填充form表单等策略来尝试发现更多页面。
业务对随机值响应不一致导致了扫描范围不一致。
- 响应信息