我们有一个非常大的Web应用程序,大约有1000个页面需要测试(www.project-open.com,一个面向服务公司的项目+财务管理应用程序)。每个页面可以有多个参数(object-id、过滤器、用于排序的列名等)。我们现在将对这些参数实施额外的安全检查,因此我们需要系统地测试a)攻击性参数值是否被拒绝,b)应用程序实际使用的参数值是否被正确接受。
示例:我们可能想说页面中的sort_column参数应该只由字母数字字符组成。但实际应用程序中可能包含一个包含空格的列名,从而导致误报安全警报(空格字符不是字母数字字符)。
我的测试想法是: 1)在代理模式下手动导航到每个页面,2)告诉ZAP开始对这个页面上的所有链接进行一层或两层爬行,3)告诉ZAP开始对这些URL进行模糊处理。
如何实现这一点?我已经对ZAP有了基本的了解,并对]project-open[进行了一些安全测试。我读到过一个用于扫描URL列表的ZAP扩展,但在我们的示例中,我们希望对每个URL执行一些特定的ZAP操作……
发布于 2020-06-08 21:20:10
冒着恼人的堆栈溢出模型的风险,我建议在ZAP用户组上问这个问题,因为这不是一个微不足道的问题,需要一个不平凡的答案:) https://groups.google.com/forum/#!forum/zaproxy-users
不过,我将总结一下您的一些选择:
我会从使用ZAP桌面开始,这样你就可以控制它,看看它到底有什么效果。你可以启动浏览器,浏览你的应用程序,然后主动扫描你找到的urls。标准爬行器会发现探索传统应用程序非常有效,但是大量使用javascript的应用程序可能需要ajax爬行器。
你也可以使用“攻击模式”来攻击你通过ZAP代理的范围(你定义的)内的所有东西。这只意味着ZAP有效地跟踪你所做的事情,并攻击任何新的东西。如果你不探索你的应用程序的一部分,那么ZAP就不会攻击它。
如果你想实现你自己的测试,那么我可以看看如何创建脚本主动扫描规则。我们可以在这些方面为你提供帮助,但我现在只想从探索你的应用程序并运行默认规则开始。
https://stackoverflow.com/questions/62262592
复制相似问题