Owasp zap 中基于标头的身份验证
Posted
技术标签:
【中文标题】Owasp zap 中基于标头的身份验证【英文标题】:Header Based Authentication in Owasp zap 【发布时间】:2021-01-15 01:23:12 【问题描述】:我正在尝试实现 Owasp Zap 扫描。但我找不到用于标头身份验证的脚本
如何为键值对添加标头身份验证,例如 key =api-key value = 123
docker run --rm -v $(Agent.ReleaseDirectory)/docker:/zap/wrk/:rw -t ictu/zap2docker-weekly zap-
baseline.py \
-t https://www.example.com/ProductDetails/v1/details?productId=123456 \
-I -x governreport.xml \
-r testreport.html \
--hook=/zap/auth_hook.py \
-z "auth.loginurl=https://www.example.com/ProductDetails/v1/details?productId=123456" \
我正在关注这篇文章:
http://www.winkell.co.uk/2019/10/28/zap-security-scanning-in-azure-devops-release-pipelines/【问题讨论】:
不熟悉 Azure DevOps,但我在管道中使用owasp/zap2docker-stable
图像。正确设置的标头实际上取决于应用程序需要什么(即我使用keycloak
,它期望基于表单的身份验证来获取令牌)以及如何在hook 中处理它(我正在使用自定义zap_started
挂钩) .
没有得到您的最新信息,masseyb 的建议对您有帮助吗?或者,如果您有任何疑虑,请随时在此处分享。
@WalterQian-MSFT 是的,我仍在努力寻找解决方案
【参考方案1】:
要添加您想要的标题,您可以在 -z
中包含以下选项
-config replacer.full_list\\(0\\).description=auth1 \
-config replacer.full_list\\(0\\).enabled=true \
-config replacer.full_list\\(0\\).matchtype=REQ_HEADER \
-config replacer.full_list\\(0\\).matchstr=Authorization \
-config replacer.full_list\\(0\\).regex=false \
-config replacer.full_list\\(0\\).replacement=123456789
所以你的命令看起来像
docker run --rm -v $(Agent.ReleaseDirectory)/docker:/zap/wrk/:rw -t ictu/zap2docker-weekly zap-
baseline.py \
-t https://www.example.com/ProductDetails/v1/details?productId=123456 \
-I -x governreport.xml \
-r testreport.html \
--hook=/zap/auth_hook.py \
-z "auth.loginurl=https://www.example.com/ProductDetails/v1/details?productId=123456" \
-config replacer.full_list\\(0\\).description=auth1 \
-config replacer.full_list\\(0\\).enabled=true \
-config replacer.full_list\\(0\\).matchtype=REQ_HEADER \
-config replacer.full_list\\(0\\).matchstr=api-key \
-config replacer.full_list\\(0\\).regex=false \
-config replacer.full_list\\(0\\).replacement=123
这样,您将在所有请求中添加标头 api-key: 123
。
参考:https://www.zaproxy.org/blog/2017-06-19-scanning-apis-with-zap/
【讨论】:
以上是关于Owasp zap 中基于标头的身份验证的主要内容,如果未能解决你的问题,请参考以下文章
在不使用 OpenAPI 或 Swagger 规范的情况下,使用 OWASP ZAP 对 API 进行身份验证