首页 > 解决方案 > API 扫描未从 OWASP ZAP 中的 swagger-ui.html 扫描 api

问题描述

我尝试了以下命令

docker pull owasp/zap2docker-weekly

docker run -v $(pwd):/zap/wrk/:rw -t owasp/zap2docker-weekly zap-api-scan.py -t https://dummyexample.com/swagger-ui.html -f openapi -g gen.conf -r testreport.html -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='Bearer eyJraWQiOiIyABCDEFG'"

我得到的输出为

WARN-NEW:返回了意外的 Content-Type [100001] x 2

https://dummyexample.com/swagger-ui.html (200 OK)

https://dummyexample.com/swagger-ui.html/ (200 OK)

WARN-NEW:不完整或没有缓存控制标头集 [10015] x 1

https://dummyexample.com/swagger-ui.html (200 OK)

WARN-NEW:内容安全策略 (CSP) 标头未设置 [10038] x 1

https://dummyexample.com/swagger-ui.html (200 OK)

FAIL-NEW:0 FAIL-INPROG:0 WARN-NEW:3 WARN-INPROG:0 INFO:0 IGNORE:0 通过:113

问题是我无法从 swagger 中扫描所有 api,因为我需要对其进行身份验证。但是我提供了正确的承载令牌,然后所有的 api 都没有被捕获和扫描。我只需要通过 owasp/zap2docker-weekly 映像来执行此操作。我不想使用 ZAP UI。我尝试禁用 api.disablekey=true 但输出相同。

docker run -v $(pwd):/zap/wrk/:rw -t owasp/zap2docker-weekly zap-api-scan.py -t https://dummyexample.com/swagger-ui.html -f openapi -g gen.conf -r testreport.html -z "-config api.disablekey=true"

请帮我解决一下这个。我错过了一些东西。

提前致谢

标签: apiauthenticationswaggerowaspzap

解决方案


虽然替换器应该可以正常工作,但我建议使用身份验证环境变量:https ://www.zaproxy.org/docs/desktop/start/features/authentication/#envvars


推荐阅读