【发布时间】:2023-07-21 08:18:01
【问题描述】:
我有这个 curl 来调用一个 api:
curl -X POST -u user:password /to/the/end/point
如果我收到带有 zapproxy 的请求,我可以发送此请求并进行主动攻击,但我正在尝试对 python api 进行此调用。我无法使用基本授权(base64 或用户:密码)进行身份验证。我正在尝试使用 gui 和导出创建上下文并将其与 zap-api-scan.py 一起使用,但它不起作用。
我已经阅读了这些帖子:
https://zaproxy.blogspot.com/2017/06/scanning-apis-with-zap.html
Basic Authorization in OWASP ZAP
但我还没有找到解决办法。
你能帮帮我吗?
谢谢。
【问题讨论】:
-
您是否在 GUI 中设置了它以开始使用?我只是像这样将基本身份验证与 xampp 组合在一起:chandanpatra.blogspot.com/2013/08/… 然后在 ZAP 上下文中配置“HTTP/NTLM 身份验证”并在上下文的“用户”面板下创建一个用户....工作正常:Spider,Active Scan,随便...还请注意,当 ZAP 运行时,您可以通过浏览器访问 API,以了解您可能需要进行哪些调用以及它们采用哪些参数。
-
是的,我试过了,但我认为我没有选择正确的选项。在身份验证中,我选择 HTTP / NTLM 身份验证,但我不知道在字段中输入什么。
-
定义你的上下文(通过在上下文正则表达式中设置包含)。在身份验证面板中设置身份验证选择“HTTP/NTLM 身份验证”输入主机名和端口(对于需要身份验证的主机......localhost 80 或 www.example.org 443 或其他)。转到“用户”面板并创建一个用户(随意命名,输入用于基本身份验证的用户名和密码)。
-
好的!我有一个在 gui 中工作的上下文,但是当我在 docker 中导出和使用 zap-api-scan.py 时不起作用:./zap-api-scan.py -t target/to/end/point -f openapi -n /文件/上下文
-
你能比“不工作”更具体吗?有错误吗?是不是导入失败?等等
标签: api authentication owasp zap zapproxy