4

我的场景:

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

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

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

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

但是,当我知道这个词是正确的密码时。提醒我它是正确的并没有什么不同。在这种情况下,密码是 Password5。我希望它会反映或显示它被定向到新页面。但是,对于测试用户来说不正确的“密码”会发生这种情况。

我在 Fuzzer 选项卡中看到了这个: 在此处输入图像描述

4

1 回答 1

11

好的,我认为您提出的第一点是 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 项目负责人)

于 2013-12-31T14:14:02.193 回答