首页 > 解决方案 > ZAP:混合手动浏览、主动扫描和模糊测试来测试一个非常大的 Web 应用程序?

问题描述

我们有一个非常大的 Web 应用程序,有大约 1000 个页面要测试(www.project-open.com,服务公司的项目 + 财务管理应用程序)。每个页面可能有多个参数(对象 ID、过滤器、用于排序的列名,...)。我们现在要对这些参数实施额外的安全检查,因此我们需要系统地测试 a) 攻击性参数值被拒绝和 b) 应用程序实际使用的参数值是否被正确接受。

示例:我们可能想说页面中的 sort_column 参数应该只包含字母数字字符。但现实中的应用程序可能包含一个带有空格的列名,从而导致误报安全警报(空格字符不是字母数字字符)。

我对此进行测试的想法是 1) 在代理模式下手动导航到这些页面中的每一个,2) 告诉 ZAP 开始对该页面上的所有链接进行一到两个级别的爬网,以及 3) 告诉 ZAP 开始对这些 URL 进行模糊测试。

如何实施?我对 ZAP 有了基本的了解,并对]project-open[ 进行了一些安全测试。我已经阅读了用于扫描 URL 列表的 ZAP 扩展,但在我们的例子中,我们希望对这些 URL 中的每一个执行一些特定的 ZAP 操作......

标签: testingweb-applicationszapsecurity-testing

解决方案


我将总结您的一些选择:

我将首先使用 ZAP 桌面,以便您可以控制它并确切了解它的效果。您可以启动浏览器,探索您的应用程序,然后主动扫描您找到的网址。标准蜘蛛会非常有效地探索传统应用程序,但大量使用 JavaScript 的应用程序可能需要 ajax 蜘蛛。

您还可以使用“攻击模式”来攻击您通过 ZAP 代理的范围(您定义的)范围内的所有内容。这只是意味着 ZAP 有效地遵循您的操作并攻击任何新事物。如果您不探索应用程序的一部分,那么 ZAP 不会攻击它。

如果您想实现自己的测试,那么我会看看创建脚本化的主动扫描规则。我们可以帮助您解决这些问题,但我现在只是从探索您的应用程序并运行默认规则开始。


推荐阅读