docker Owasp zap中基于报头的认证

x759pob2  于 2023-04-20  发布在  Docker
关注(0)|答案(2)|浏览(161)

我试图实现奥瓦斯普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" \

我在关注这篇文章:

tcomlyy6

tcomlyy61#

要添加所需的标题,可以在-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/

pzfprimi

pzfprimi2#

如果您只需要设置身份验证标头,另一个选择是使用Authentication Env Vars

链接片段:

“如果您的应用只需要一个可以在ZAP外部生成的身份验证令牌,那么您可以使用ZAP Authentication环境变量。
在《台式机用户指南》的“身份验证”页面上记录了其中的3个env变量,为了完整起见,在此重新列出:

*ZAP_AUTH_HEADER_VALUE-如果已定义,则其值将作为头添加到所有请求中
*ZAP_AUTH_HEADER-如果已定义,则其值将用作头名称-如果未定义,则将使用标准授权头
*ZAP_AUTH_HEADER_SITE-如果已定义,则头将仅包含在名称包含其值的站点中。

env变量是标准的操作系统env变量,因此您需要如何设置它们将取决于您的操作系统和可能的shell。它们需要在启动ZAP之前设置,一旦ZAP已经运行,它们就无法设置。”

相关问题