【发布时间】:2021-09-23 02:26:30
【问题描述】:
最初我尝试通过 ZAP UI 验证 API。我有一个文件夹结构,其中有
上下文,wrk->script->authentication->bearer-token.js,wrk->script->httpsender->header-set-bearer-token.js,wrk->script->zap_hooks.py。
在进行身份验证时,我选择了 ScriptBasedAuthentication 并加载了脚本 bearer-token.js、提供的令牌提供者 URL、API 密钥和在 bearer-token.js 中提供的授权类型。 导入 Swagger.json 并运行 Active Scan。
ZAP UI 一切正常。
在尝试使用 ZAP API Scan docker 映像时,我收到警报
服务器返回响应码 401。
这可能表明应用程序未能正确处理意外输入。
由“HTTP 响应代码错误警报”脚本引发
正在扫描所有 api,但未对其进行身份验证。 我正在运行的命令是
docker run -v $(pwd):/zap/wrk/:rw -t owasp/zap2docker-weekly zap-api-scan.py -t test.json -f openapi -r api-scan-report.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=授权-config replacer.full_list(0).regex=false -config 'replacer.full_list(0).replacement=承载 XXXXXXXXXXXXXXXXXXXXXX'”
“Bearer TokenXXXXX”之间有空格,所以我提到了这个https://github.com/zaproxy/zaproxy/issues/4332#issuecomment-367326344
但这对我不起作用。 Bearer 令牌再次仅在 5 分钟内有效,然后过期。
如果我提供 --hook=zap_hooks.py,它会显示 在 /zap/zap_hooks.py 找不到自定义挂钩文件 我从一个星期开始尝试这个,但没有运气。 请帮助我如何验证我的 API 可以摆脱 401(未授权)
请帮我解决这个问题。 提前致谢。
【问题讨论】:
标签: docker swagger owasp zap zapproxy