如何将身份验证详细信息传递给 ZAP 工具以扫描网站。请帮我解决问题。
3 回答
很老的问题,但它就在这里。
最简单的方法是通过 ZAP 将浏览器设置为代理。在 Firefox 上,您可以访问:
选项 -> 高级 -> 网络 -> 设置。
选择 Manual Proxy Configuration 并使用运行 ZAP 的机器的地址(很可能是 localhost)和配置的 ZAP 端口填充 HTTP 主机。
您可以检查和配置 ZAP 端口打开 ZAP 并访问:
工具 -> 选项 -> 本地代理。
然后打开您的网络浏览器并登录到您的应用程序。现在转到 ZAP,在站点选项卡(ZAP 的左侧)中,选择您的站点,右键单击它并选择:
包含在上下文中 -> 默认上下文
现在打开 HTTP 会话选项卡,右键单击会话并“设置为活动”。(HTTP 会话选项卡:查看 -> 显示选项卡 -> HTTP 会话)
现在您可以通过登录会话执行 ZAP Spider、Active Scan 等。如果这不是您的情况,请提供有关您的应用程序使用哪种身份验证方法的更多信息。
希望它仍然可以帮助您或寻找类似问题的人。谢谢,
通过 ZAP 代理进行身份验证
ZAP 支持网站/webapps 实现的多种类型的身份验证。ZAP 中的身份验证方法是通过定义如何处理身份验证的上下文来实现的。身份验证用于创建与经过身份验证的 webapp用户对应的会话。
OWASP ZAP实现的一些身份验证方法是:
- 手动身份验证:此方法允许用户手动执行身份验证(例如,在通过 ZAP 代理时在浏览器中进行身份验证)。
- HTTP/NTLM 身份验证:此方法用于使用 HTTP 或 NTLM 身份验证机制强制执行身份验证的网站/Web 应用程序,该机制使用 HTTP 消息头。支持三种身份验证方案:基本、摘要和 NTLM。
- 基于表单的身份验证:此方法用于通过提交表单或使用“用户名/密码”对身份验证凭据对“登录 url”执行 GET 请求来完成身份验证的网站/webapps。
- 基于 JSON 的身份验证:此方法用于通过使用“用户名/密码”对身份验证凭据将 JSON 对象提交到“登录 URL”来完成身份验证的网站/Web 应用程序。
- 基于脚本的身份验证:此方法对于身份验证更复杂且一些处理身份验证过程的自定义脚本很有用的网站/Web 应用程序很有用。要使用此方法,您必须首先定义一个身份验证脚本,该脚本根据您的 Web 应用程序的需要发送消息或执行其他操作。然后选择此脚本用于给定的上下文,并在执行身份验证时调用它。
示范
作为示例,我将使用 URL https://jigsaw.w3.org/HTTP/Basic/根据RFC 1945演示由HTTP/1.1实现的基本身份验证测试
脚步
按照以下步骤通过 ZAP实现基本身份验证:
- 打开 ZAP 并打开浏览器,例如Firefox,方法是单击用于打开您在快速启动选项卡中选择的浏览器的图标,该浏览器预配置为通过 ZAP 代理。
- 单击出现Basic Authentication弹出窗口的Basic Authentication test (网页上的倒数第三个链接) 。
- 提供登录凭据:
- 用户名:来宾
- 密码:访客
- 现在在 ZAP 工具的 History 选项卡中,找到对URL https://jigsaw.w3.org/HTTP/Basic/的GET请求并观察确认Basic Authentication的响应。
- 请求快照:
- 响应快照:
- 现在您需要创建一个Context以将其包含在Default Context中。因此,右键单击URL 并从Context Menu中选择Include In Context并选择Default Context。
- 在 Session Management 菜单中,选择HTTP Authentication Session Management。
- 在身份验证菜单中,选择HTTP/NTLM 身份验证并提供主机名和端口。
- 在用户菜单中,添加所需用户的凭据。
- 单击确定按钮保存配置。
- 最后,您需要通过从 ZAP 窗格启用它来配置 ZAP 以使用强制用户模式。
- 双击Default Context,选择Forced User并确保设置了所需的用户。
- 现在,选择 URL,右键单击,选择在浏览器中打开 URL并选择Firefox
- 您将通过 ZAP的基本身份验证自动授权。
老问题,老答案,但这里是 OWASP ZAP 的核心开发人员之一的一个很好的教程:https ://www.youtube.com/watch?v=cR4gw-cPZOA
快速回答:这取决于用于身份验证的方法。您可以在“身份验证”菜单的“会话属性”中设置选项,也可以在“用户”菜单中定义不同的用户。