zap-api-scan.py如何限制扫描时长、递归层级及扫描深度?
两个镜像的zap-api-scan.py均支持通过自带的-z参数传入ZAP核心配置项,实现扫描深度和运行时长的限制,具体方案如下:
限制扫描深度
- 爬虫深度限制:如果你的扫描开启了爬虫逻辑补充发现API端点,可传入配置
spider.maxDepth=<数值>调整最大爬取深度,默认值为5,数值越小扫描范围越窄、耗时越短 - 主动扫描强度限制:可传入配置
scanner.attackStrength=<等级>控制主动扫描的payload迭代深度,可选等级从浅到深为LOW/MEDIUM/HIGH/INSANE,等级越低扫描深度越浅
限制运行时长
- 总扫描时长限制:传入配置
scanner.maxScanDurationInMins=<数值>设置扫描最长运行时间,单位为分钟,超时后扫描会自动终止 - 单规则运行时长限制:传入配置
scanner.maxRuleDurationInMins=<数值>设置单个漏洞检测规则的最长运行时间,避免单个规则卡住导致整体扫描超时
配置使用示例
将多个配置项用空格分隔后整体放入-z参数的引号中即可,以OWASP官方镜像命令为例:
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 \ -z "spider.maxDepth=2 scanner.attackStrength=LOW scanner.maxScanDurationInMins=30 scanner.maxRuleDurationInMins=3"
以上配置对owasp/zap2docker-stable和ictu/zap2docker-weekly镜像通用,两个镜像均基于官方ZAP核心封装,
zap-api-scan.py的-z参数传递逻辑完全一致。
内容的提问来源于stack exchange,提问作者tony
相关产品推荐
相关产品推荐

