首页 > 解决方案 > zap-api-scan.py:如何限制时间/递归/深度?

问题描述

我有一个命令zap-api-scan.py,但不像zap-full-scan.py,似乎没有办法限制这些。

通过 OWASP 的官方 docker 镜像:

docker run -v $(pwd):/zap/wrk/:rw \
    -t owasp/zap2docker-stable zap-api-scan.py \
    -t http://my-tld/api/graphql 
    -f graphql --schema schema.graphql

通过 ICTU 的 docker iamge:

docker run --rm -v $(pwd):/zap/wrk/:rw \
-t ictu/zap2docker-weekly zap-api-scan.py \
-t https://myapp.tld.com/api/graphql -f graphql \
-r testreport.html --hook=/zap/auth_hook.py --schema schema.graphql \
-z "auth.bearer_token=myapikey" \
-d -I

我有任何选择,无论是通过owasp/zap2docker-stable还是ictu/zap2docker-weekly通过

我可以传递任何配置变量zap-api-scan.py来限制深度或运行持续时间吗?

注意:这仅适用于zap-api-scan.pyCLI 脚本。

标签: owaspzap

解决方案


如果您正在谈论 GraphQL 查询生成过程的递归深度,您可以使用 ZAP 配置选项,例如:

-z "-config graphql.maxQueryDepth=2 -config graphql.maxArgsDepth=2"

这两个选项的默认深度都是 5,因此任何小于该值的值都应该加快扫描速度(代价是生成和发送的查询更少)。

有关标志的更多信息,请参阅https://www.zaproxy.org/faq/how-do-you-find-out-what-key-to-use-to-set-a-config-value-on-命令行/


推荐阅读