owasp - 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.py
CLI 脚本。
解决方案
如果您正在谈论 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-命令行/。
推荐阅读
- r - 如何在 R 中的两个数据帧之间循环进行行检查?
- python - Python OOP - 无法使用 self 更改类变量的值
- mysql-workbench - 如何将 MySql 数据库连接到 Microsoft Flow
- vector - 有条件地替换 rstudio 中的列表元素
- java - Kodein vs Dagger - 无法让 Dagger 与多个模块一起工作
- javascript - HTML/Angular 中的 JavaScript 不切换选项卡
- angular - 可调整大小的 col 组列(行跨度和 colsapn)
- python - Python 包 catboost plot_tree
- arrays - 尝试使用 PowerShell 从数组的对象部分访问每个元素
- python - 如何在 Django 模板中正确地为 URL 提供参数?