测试漏洞修复
测试修复是否有效是应用程序安全性的一个组成部分。您可以尝试代码更改,并通过从“漏洞详细信息”窗口中重新播放攻击来测试它们是否修复了漏洞。要验证补救措施是否有效,还可以重新运行发现该漏洞的相同扫描。
重放攻击
你可以用Rapid7 AppSec插件Chrome浏览器.通过重放攻击,可以观察攻击流量,判断漏洞是否有效。还可以在request Builder中编辑请求,以查看更改是否修复或进一步验证了漏洞。
在InsightAppSec中,您可以从扫描报告或漏洞中访问漏洞并重放攻击。
扫描报告验证
- 在所有应用程序页面,选择您想要验证的应用程序。
- 在应用详细信息页面,选择要生成报告的扫描。
- 点击生成报告
- 给报告一个名称并选择HTML导出。
- 当报告可用时,重放攻击。
- 选择攻击类型,单击重放攻击.
- 在“漏洞验证器”窗口中,使用顶部的选项卡在发生的攻击流量中的步骤之间进行切换。
- 在每个选项卡上单击发送使用Request Builder验证每个攻击。响应头和响应体将返回攻击信息。
验证的脆弱性
- 在所有应用程序页面,选择您想要验证的应用程序。
- 在漏洞选项卡,选择要验证的漏洞。
- 当漏洞验证器窗口打开时,重新执行攻击。
- 选择攻击类型,单击重放攻击.
- 在“漏洞验证器”窗口中,使用顶部的选项卡在发生的攻击流量中的步骤之间进行切换。
- 在每个选项卡上单击发送使用Request Builder验证每个攻击。响应头和响应体将返回攻击信息。
通过重新运行扫描来测试补救措施
验证扫描使用扫描引擎。要测试单个漏洞的修复而不进行扫描,您可以重放攻击.
验证扫描
运行验证扫描,看看之前的扫描是否能再次发现漏洞。如果扫描没有找到漏洞,则漏洞状态变为“已修复”。
- 在你的应用程序中,选择你想要验证的扫描。
- 点击验证扫描.
- 单击,查看扫描进度扫描状态在横幅通知。
- 当扫描完成时,在扫描的细节页,确认已修复的漏洞已列在矫正字段。
- 在所有的漏洞页,确认该漏洞未被列出。
为什么我要这样测试补救措施?
只有在你的应用程序中仍然存在的漏洞才会在验证扫描结果中列出。被攻击且未发现不再易受攻击的漏洞将其状态更新为“已修复”,并且将不包含在验证扫描结果中。
通过检查Scan Information抽屉中的remediated字段,可以看到有多少漏洞得到了补救。任何无法被攻击的漏洞将不包含在验证扫描结果中,其状态将不被更新。
我如何知道该漏洞是否已被修复?
验证扫描自动改变漏洞的状态,取决于漏洞是否被发现,未发现,或未知时运行的父扫描:
- 发现-仍然脆弱,将是验证扫描结果的一部分。
- 没有找到-不再脆弱,状态更新,漏洞不包括在验证扫描结果。
- 未知的-引擎无法重复原始攻击,状态保持不变,但漏洞不包含在验证扫描结果中。
原始的状态 | 发现vuln | 没有找到 | 未知的 |
---|---|---|---|
未审核 | 未审核 | 矫正 | 未审核 |
忽略了 | 忽略了 | 矫正 | 忽略了 |
验证 | 验证 | 矫正 | 验证 |
矫正 | 未审核 | 矫正 | 矫正 |
假阳性 | 假阳性 | 假阳性 | 假阳性 |
重复的 | 重复的 | 重复的 | 重复的 |
扫描的建议
使用验证扫描来测试补救措施,并使用完整扫描来查看应用程序安全性的完整视图。验证扫描针对来自父扫描的攻击结果运行,可能会发现在父扫描中未发现的漏洞。尽管“所有漏洞”页面包括通过验证扫描发现的新漏洞和现有漏洞,但它并不像在父扫描上运行完整扫描那样全面。
这个页面对你有帮助吗?