我的场景:

我导航到登录页面。
我输入了一个密码错误的已知用户名。
ZAP 没有问题。

我选择 POST 到登录页面。
我找到包含用户名和密码的行。密码:
ctl00%24ContentPlaceHolder1%24cpLoginAspx%24ctl00%24LoginControl1%24LTLogin%24Password=12345&

我突出显示 12345 并右键单击以选择 Fuzz。
我已经为测试帐户放入了一个带有正确密码的自定义列表,然后我选择了它。

当我这样做时,它会按照我的预期在列表中工作。将 12345 更改为列表中的各种选项。

但是,当我知道这个词是正确的密码时。提醒我它是正确的并没有什么不同。本例中的密码是 Password5。我预计它会反射(reflect)或显示它被定向到一个新页面。但是,对于测试用户来说不正确的“密码”会发生这种情况。

我在 Fuzzer 选项卡中看到了这一点:

最佳答案

好的,我认为您提出的第一点是 ZAP 没有发现您尝试了无效密码。这不是安全风险 - 您提供了错误的密码,该应用程序没有让您进入。一切正常。

ZAP 只会通过主动或被动扫描器提醒您存在漏洞。
模糊器用于手动测试。如果我们找到了一种自动检测漏洞的方法,那么我们会将其放入主动或被动扫描器中:)
所以你必须解释模糊器的结果,而不是期望 ZAP 为你做这些。
在任何情况下,成功登录都不是漏洞(在 ZAP 术语中)。

fuzzer 会告诉您的是,您提供的字符串是否包含在响应中(这在查找 XSS 时很有用)、响应代码、所用时间和响应长度。

登录时,我预计响应长度会显着不同,因此一种选择是寻找长度与其他响应显着不同的响应。

然而,最简单的选择可能是搜索模糊结果。
为此,请转到“搜索”选项卡,在下拉菜单中选择“模糊结果”,然后搜索您知道成功登录时将显示的字符串,或反向搜索您知道将显示的字符串当您登录失败时。

这有帮助吗?

请注意,我们在 ZAP wiki 上确实有大量信息,包括视频、常见问题解答等等:http://code.google.com/p/zaproxy/wiki/Introduction

顺便说一句,我们确实有一个 ZAP 用户组,专门针对此类问题:http://groups.google.com/group/zaproxy-users
您还可以通过 ZAP 的“在线/ZAP 用户组”菜单项访问它。
我试着关注论坛,但论坛太多了,有些问题肯定会漏掉。

如果有人能建议我如何说服人们使用 ZAP 用户组(所有 ZAP 开发人员都订阅)而不是像这样的通用论坛(这对于其他问题非常有用),那么我将非常感激:)

西蒙(ZAP 项目负责人)

关于OWASP ZAP 和 Fuzz 能力,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20845226/

10-10 19:30