测试漏洞修复

测试修复是否有效是应用程序安全性的一个组成部分。您可以尝试代码更改,并通过从“漏洞详细信息”窗口中重新播放攻击来测试它们是否修复了漏洞。要验证补救措施是否有效,还可以重新运行发现该漏洞的相同扫描。

重放攻击

你可以用Rapid7 AppSec插件Chrome浏览器.通过重放攻击,可以观察攻击流量,判断漏洞是否有效。还可以在request Builder中编辑请求,以查看更改是否修复或进一步验证了漏洞。

在InsightAppSec中,您可以从扫描报告或漏洞中访问漏洞并重放攻击。

使用攻击重播验证漏洞的工作流程

安装插件,你可以生成扫描报告查看扫描中的漏洞重放攻击。

扫描报告验证

  1. 所有应用程序页面,选择您想要验证的应用程序。
  2. 在应用详细信息页面,选择要生成报告的扫描。
  3. 点击生成报告
  4. 给报告一个名称并选择HTML导出。
  5. 当报告可用时,重放攻击。
    1. 选择攻击类型,单击重放攻击
    2. 在“漏洞验证器”窗口中,使用顶部的选项卡在发生的攻击流量中的步骤之间进行切换。
    3. 在每个选项卡上单击发送使用Request Builder验证每个攻击。响应头和响应体将返回攻击信息。

验证的脆弱性

  1. 所有应用程序页面,选择您想要验证的应用程序。
  2. 漏洞选项卡,选择要验证的漏洞。
  3. 当漏洞验证器窗口打开时,重新执行攻击。
    • 选择攻击类型,单击重放攻击
    • 在“漏洞验证器”窗口中,使用顶部的选项卡在发生的攻击流量中的步骤之间进行切换。
    • 在每个选项卡上单击发送使用Request Builder验证每个攻击。响应头和响应体将返回攻击信息。

通过重新运行扫描来测试补救措施

验证扫描使用扫描引擎。要测试单个漏洞的修复而不进行扫描,您可以重放攻击

验证扫描

运行验证扫描,看看之前的扫描是否能再次发现漏洞。如果扫描没有找到漏洞,则漏洞状态变为“已修复”。

  1. 在你的应用程序中,选择你想要验证的扫描。
  2. 点击验证扫描
  3. 单击,查看扫描进度扫描状态在横幅通知。
  4. 当扫描完成时,在扫描的细节页,确认已修复的漏洞已列在矫正字段。
  5. 所有的漏洞页,确认该漏洞未被列出。
为什么我要这样测试补救措施?

只有在你的应用程序中仍然存在的漏洞才会在验证扫描结果中列出。被攻击且未发现不再易受攻击的漏洞将其状态更新为“已修复”,并且将不包含在验证扫描结果中。

通过检查Scan Information抽屉中的remediated字段,可以看到有多少漏洞得到了补救。任何无法被攻击的漏洞将不包含在验证扫描结果中,其状态将不被更新。

我如何知道该漏洞是否已被修复?

验证扫描自动改变漏洞的状态,取决于漏洞是否被发现,未发现,或未知时运行的父扫描:

  • 发现-仍然脆弱,将是验证扫描结果的一部分。
  • 没有找到-不再脆弱,状态更新,漏洞不包括在验证扫描结果。
  • 未知的-引擎无法重复原始攻击,状态保持不变,但漏洞不包含在验证扫描结果中。
原始的状态 发现vuln 没有找到 未知的
未审核 未审核 矫正 未审核
忽略了 忽略了 矫正 忽略了
验证 验证 矫正 验证
矫正 未审核 矫正 矫正
假阳性 假阳性 假阳性 假阳性
重复的 重复的 重复的 重复的

扫描的建议

使用验证扫描来测试补救措施,并使用完整扫描来查看应用程序安全性的完整视图。验证扫描针对来自父扫描的攻击结果运行,可能会发现在父扫描中未发现的漏洞。尽管“所有漏洞”页面包括通过验证扫描发现的新漏洞和现有漏洞,但它并不像在父扫描上运行完整扫描那样全面。