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

如何在Ubuntu 22.04终端通过OWASP ZAP结合OpenAPI定义执行主动扫描

Ubuntu 22.04终端下用OWASP ZAP导入OpenAPI定义执行主动扫描的正确方法

你之前的命令无法生效,是因为ZAP的-daemon模式不支持直接通过-openapifile这类参数触发完整的主动扫描流程。以下是两种可行的命令行实现方案:

方案一:使用zap-cli(简化版)

zap-cli是ZAP的命令行封装工具,操作更直观:

  1. 先安装zap-cli:
sudo apt update && sudo apt install zap-cli
  1. 导入OpenAPI定义并关联目标URL:
zap-cli openapi import /path/to/swagger.json --target-url http://your-target-url
  1. 启动主动扫描:
zap-cli active-scan http://your-target-url
  1. 生成HTML扫描报告:
zap-cli report generate -o /path/to/output.html -f html

方案二:使用ZAP原生命令行+API调用(无需额外工具)

如果不想安装zap-cli,可以直接通过ZAP的API完成整个流程:

  1. 启动ZAP守护进程(指定端口和可选的API密钥):
/path/to/zap.sh -daemon -port 8080 -api-key your-secure-api-key
  1. 导入本地OpenAPI定义文件:
curl -X POST "http://localhost:8080/JSON/openapi/action/importFile/?file=/path/to/swagger.json&target=http://your-target-url" -H "X-ZAP-API-Key: your-secure-api-key"
  1. 触发主动扫描:
curl -X POST "http://localhost:8080/JSON/ascan/action/scan/?url=http://your-target-url&recurse=true" -H "X-ZAP-API-Key: your-secure-api-key"
  1. 查询扫描状态(返回100表示完成):
curl "http://localhost:8080/JSON/ascan/view/status/?scanId=1" -H "X-ZAP-API-Key: your-secure-api-key"

注意:scanId需要替换为扫描启动时返回的实际ID,也可以用脚本轮询直到状态为100

  1. 生成HTML报告:
curl -X POST "http://localhost:8080/JSON/reports/action/generate/?template=traditional&reportTitle=ZAP+主动扫描报告&outputPath=/path/to/output.html&outputFormat=html" -H "X-ZAP-API-Key: your-secure-api-key"
  1. 关闭ZAP守护进程:
curl -X POST "http://localhost:8080/JSON/core/action/shutdown/" -H "X-ZAP-API-Key: your-secure-api-key"

关键注意事项

  • 替换/path/to/zap.sh为实际的ZAP安装路径,Ubuntu下默认路径通常是/usr/share/zaproxy/zap.sh
  • http://your-target-url要和OpenAPI定义中的basePath保持一致,确保扫描范围正确
  • 若不需要API密钥,可去掉命令中的-api-key参数和请求头,但生产环境建议启用以保证安全

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 06:15:45