设置 OWASP ZAP 身份验证

信息安全 owasp 扎普
2021-08-16 19:28:07

所以我最近一直在使用 OWASP ZAP 进行安全测试。但是我遇到了一个障碍,因为我无法让(ajax)蜘蛛在单页应用程序的授权区域内进行测试。

我查看了会话属性中的不同选项,如下图所示。但是,对我的单页应用程序的授权涉及发送 base64 编码的用户名和密码作为似乎不受支持的标头值。

理想情况下,我需要自己简单地指定标头值 base64 字符串,或者指定用户名和密码,让 ZAP 代理输入字段,然后提交它们,让 Web 应用程序编码并发送它们。

我真的只是想知道是否有人有任何好的建议来解决这个限制?我看到了“基于脚本的身份验证”,但无法为其导入脚本,并且不太确定它是如何工作的?

在此处输入图像描述

1个回答

您可以使用 ZAP 的 Zest 功能来执行您的身份验证。在顶部的图标栏中,在最右侧,您会找到一个磁带图标,上面写着“录制新的热情脚本...”。点击它,选择一个名称并为“类型”下拉菜单选择“身份验证”。

现在通过 ZAP 打开浏览器并手动登录您的站点。再次点击磁带图标停止录制。在 ZAP 中,在显示已扫描站点的左侧,切换到“脚本”选项卡以查找您的脚本。您将看到任何记录的请求,并且您可以继续删除您的身份验证不需要的任何记录。

在右上角,在快速启动/请求/响应旁边,您应该看到一个“脚本控制台”选项卡,您可以在其中找到一个按钮来运行您录制的脚本。

如果脚本正常工作,现在返回到您在 OP 中截屏的上下文设置并选择基于脚本的身份验证。您将能够选择重新录制的脚本。点击“加载”并填写正则表达式模式。

现在到花了我很多时间的部分:您必须在上下文设置中指定一个用户,尽管这不是必需的,因为用户是您脚本的一部分。只需输入您想要的用户名和密码。

现在你完成了!启动一个蜘蛛,选择你的上下文和你的假用户,它应该可以工作。