文档首页/ 漏洞管理服务 CodeArts Inspector/ 常见问题/ 网站扫描类/ 为什么漏洞管理服务多次扫描结果不一致?
更新时间:2023-09-08 GMT+08:00
分享

为什么漏洞管理服务多次扫描结果不一致?

动态扫描(DAST)的结果由多种因素决定,多次扫描结果可能存在不一致的情况,如某类漏洞的数量存在差异,在扫描结果相差不大的情况下,结合多份扫描结果的内容进行分析,关注漏洞是否存在即可。

下面将解释扫描结果不一致的原因。

漏洞管理服务工作机制

漏洞管理服务从客户端的角度,模拟黑客向测试目标发起攻击,根据网站的响应(内容、时间等信息)来判断是否存在漏洞。

  • 根据登录信息登录测试目标
  • 主动爬虫爬取相关目标
  • 发送攻击报文进行测试
  • 根据响应内容判断漏洞存在

影响因素

结合漏洞管理服务工作机制,我们可以得出影响扫描结果的以下几个关键因素,这些因素在多次扫描中的差异,会最终导致多次扫描结果的不一致。

  • 会话维持

    如果登录信息存在问题,漏洞管理服务将无法登录进目标系统,只能进行测试目标外围的信息探测,从而影响扫描结果。常见的可能原因有:

    • 用户名密码被更改
    • Cookie/Token 等信息失效,结合业务本身的Cookie/Token等会话机制判断
    • 业务自身的会话机制
      • 多因子认证:验证码、短信等等。
      • 异地登录限制。
      • 登录频率限制。
      • 异常请求等强制中断会话。
      • 单用户登录(不允许多个客户端同时登录)。
      • 登录失败次数限制。
  • 扫描范围

    漏洞管理服务主动爬虫会通过自动填充form表单等策略来尝试发现更多页面。

    业务对随机值响应不一致导致了扫描范围不一致。

  • 响应信息
    响应信息是漏洞管理服务判断漏洞是否存在的决定性因素。网络状况、动态内容、WAF机制、测试目标本身稳定性都会影响漏洞的判定,常见的可能原因有:
    • 网络状况
      • 网络链接本身:网络延迟、网络波动。
      • 业务策略:访问过快、攻击报文、异常报文等直接将客户端加入黑名单。
      • 业务稳定性:在大量请求下的稳定性(响应时间)。
    • 业务逻辑
      • 响应内容不一致
        • 攻击报文中存在大量异常、随机值,业务对不同内容响应不同。
        • 对不同客户端(ip/user-agent/...)响应不同。
      • 响应时间不一致

        攻击报文中存在大量异常、随机值,业务处理方式不一致,耗时不同。

    • WAF机制
      • 限制访问频率
      • 限制攻击来源访问

相关文档