You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用ZAP Docker镜像批量扫描端点并爬取新端点?附DAST工具推荐

用ZAP Docker实现指定端点扫描+爬虫发现新端点

无需自定义脚本的快速方案

ZAP Docker镜像自带的扫描脚本已经支持读取指定端点文件,同时启动爬虫发现关联新端点,直接用以下命令即可:

docker run -v $(pwd):/zap/wrk/:rw -t owasp/zap2docker-stable zap-full-scan.py -t endpoints.txt -z "-config spider.maxDepth=5 -config scanner.attackOnStart=true"

参数说明:

  • -v $(pwd):/zap/wrk/:rw:将本地当前目录挂载到容器的/zap/wrk目录,确保endpoints.txt能被容器读取,扫描报告也会输出到本地。
  • zap-full-scan.py:ZAP的全量扫描脚本,会自动完成爬虫发现新端点+主动扫描的流程。
  • -t endpoints.txt:指定待扫描的端点文件,文件需每行一个完整URL(如https://example.com/api/user)。
  • -z "-config spider.maxDepth=5":配置爬虫最大深度,控制爬虫探索关联端点的范围,可根据需求调整数值。
  • -config scanner.attackOnStart=true:开启主动扫描,爬虫完成后自动对所有发现的端点进行漏洞检测。

如果不需要全量扫描(比如只做基础漏洞检测),可以替换成zap-baseline-scan.py,速度更快。

自定义脚本实现精细化控制

如果需要更灵活的流程(比如分步执行爬虫、扫描、导出特定格式报告),可以写简单的Shell脚本组合ZAP命令:

#!/bin/bash
# 启动ZAP守护进程容器
docker run -v $(pwd):/zap/wrk/:rw -d --name zap-scanner owasp/zap2docker-stable zap.sh -daemon -port 8080 -host 0.0.0.0

# 等待ZAP完全启动(时间可根据环境调整)
sleep 30

# 批量导入endpoints.txt中的所有端点
while read url; do
  docker exec zap-scanner zap-cli open-url "$url"
done < endpoints.txt

# 针对主域名启动爬虫(替换为你的目标主域名,如https://example.com)
docker exec zap-scanner zap-cli spider --max-depth 5 https://example.com

# 等待爬虫完成探索
sleep 60

# 对所有发现的端点执行主动扫描
docker exec zap-scanner zap-cli active-scan --recursive https://example.com

# 导出HTML格式的扫描报告到本地
docker exec zap-scanner zap-cli report -o /zap/wrk/zap-report.html -f html

# 清理容器
docker stop zap-scanner
docker rm zap-scanner

这个脚本可以根据需求调整步骤,比如增加被动扫描、修改爬虫参数、导出JSON格式报告等。

其他DAST工具推荐

  • Burp Suite Professional:商业工具,功能全面,自带智能爬虫、被动/主动扫描,支持自定义插件和会话管理,适合深度Web应用测试。
  • Nikto:开源轻量扫描器,专注于Web服务器配置漏洞、常见应用漏洞和恶意文件检测,命令行易用,适合快速批量扫描。
  • Arachni:开源工具,支持REST API,易于集成到CI/CD流程,扫描速度快,报告格式丰富(HTML、JSON等),适合自动化测试场景。
  • W3AF:开源Web应用攻击框架,提供数百种扫描规则,支持自定义插件,社区活跃,适合需要深度定制扫描逻辑的场景。

内容的提问来源于stack exchange,提问作者EdoDo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 02:12:18