Featured image of post OWASP ZAP:Web 应用程序安全测试指南Featured image of post OWASP ZAP:Web 应用程序安全测试指南

OWASP ZAP:Web 应用程序安全测试指南

实用的 OWASP ZAP 指南,涵盖安装、主动和被动扫描、漏洞检测、报告生成和安全测试自动化。

OWASP ZAP:Web 应用程序安全测试指南

Web 应用程序安全性不再是可选的 — 它是保护用户数据和维护信任的基本要求。 OWASP ZAP(Zed Attack Proxy)是最流行的开源安全测试工具之一。它通过自动扫描和手动测试功能帮助开发人员和安全专业人员识别 Web 应用程序中的漏洞。本指南涵盖了从安装到修复的完整工作流程。

第 1 步:安装 OWASP ZAP

ZAP 在 Windows、macOS 和 Linux 上运行。选择适合您平台的说明。

视窗

  1. 访问 ZAP 官方下载页面
  2. 下载最新的稳定 Windows 安装程序 (.exe)。
  3. 运行安装程序并按照安装向导进行操作。
  4. 从“开始”菜单或桌面快捷方式启动 ZAP。

macOS

  1. 转到 ZAP 官方下载页面 并下载 macOS 软件包。
  2. 挂载 .dmg 文件并将 ZAP 拖到您的应用程序文件夹中。
  3. 从应用程序中打开 ZAP。如果 macOS 阻止它,请转到 系统设置 > 隐私和安全 并允许该应用程序。
  4. 或者,通过 Homebrew 安装:brew install --cask zap

Linux(Debian/Ubuntu)

sudo apt-get update
sudo apt-get install zaproxy

安装后,使用 zaproxy 从终端启动 ZAP 或在应用程序菜单中找到它。

步骤 2:配置目标应用程序

ZAP 运行后,您需要定义测试范围:

  1. 在欢迎屏幕上,单击“快速启动”,然后单击“设置新上下文”。
  2. 上下文定义您正在测试的应用程序的边界 - 它的 URL、身份验证方法和技术环境。
  3. 在“包含在上下文中”下,添加目标应用程序的基本 URL(例如 https://example.com)。
  4. 单击“包含”进行确认。如果应用程序跨越多个域,您可以添加多个 URL。
  5. 单击 完成 保存上下文。

正确确定上下文范围可确保 ZAP 仅将扫描重点放在预期目标上,并避免意外测试第三方服务。

第 3 步:运行主动扫描

主动扫描尝试通过向应用程序发送恶意负载并观察响应来查找漏洞。这是ZAP自动化测试能力的核心:

  1. 在左侧导航窗格中,选择 站点 树。找到您的目标网址。
  2. 右键单击目标,选择“攻击”>“主动扫描”。
  3. ZAP 将开始发送旨在探测常见漏洞的请求,例如 SQL 注入、跨站点脚本 (XSS) 和路径遍历。
  4. 扫描进度显示在底部面板中。根据应用程序的大小,这可能需要几分钟。

扫描完成后,结果将显示在 警报 选项卡中,并按风险级别(高、中、低、信息)进行组织。


警报风险级别

风险等级示例需要采取行动
SQL注入、RCE立即修复
中等XSS、CSRF在当前冲刺中修复
缺少安全标头下一版本地址
信息服务器横幅泄露审查和记录

第四步:被动扫描

被动扫描观察流量而不发送任何恶意负载。它会分析通过 ZAP 代理的请求和响应,识别丢失安全标头、cookie 配置错误和信息泄漏等问题:

  1. 确保主工具栏中启用了被动扫描开关。
  2. 通过 ZAP 的代理正常浏览目标应用程序(默认情况下,ZAP 侦听 localhost:8080)。
  3. 当您导航时,ZAP 会默默地分析每个请求和响应。
  4. 被动扫描仪检测到的问题与主动扫描结果一起显示在 警报 选项卡中。

被动扫描可以安全地针对任何应用程序运行,因为它不会修改请求。这是初步安全评估的一个很好的起点。

要自定义扫描设置,请转至 工具 > 选项,然后调整 被动扫描规则 下的阈值。

第 5 步:生成报告

扫描后,与您的团队分享结果。 ZAP支持多种报告格式:

  1. 从菜单栏中,选择 报告 > 生成报告
  2. 选择您喜欢的格式:
    • HTML:人类可读的报告,包含图表和严重性细分。
    • XML:机器可读,可与其他工具集成。
    • JSON:适合编程处理的结构化数据。
  3. 按风险级别自定义要包含的警报。
  4. 单击“生成报告”并保存文件。

报告包括每个漏洞的描述、受影响的 URL、扫描证据以及补救建议。与开发人员分享这些内容以确定修复的优先顺序。

第 6 步:修复和重新测试

识别漏洞只是成功的一半——真正的价值来自于修复漏洞并验证修复:

  1. 与开发团队合作解决每个漏洞。 ZAP 的警报详细信息通常包括特定的代码级指南。
  2. 部署修复后,针对同一上下文运行新的主动扫描以确认问题已解决。
  3. 将新警报列表与原始报告进行比较。所有先前标记的高和中问题都应该消失或严重程度降低。
  4. 定期重复这个循环。安全测试不是一次性活动——将其集成到您的 CI/CD 管道中。

对于自动化管道,ZAP 提供无头模式和可以从命令行调用的 Docker 镜像:

docker run -v $(pwd):/zap/wrk/:rw -t ghcr.io/zaproxy/zaproxy:stable \
  zap-full-scan.py \
  -t https://example.com \
  -r report.html

概括

OWASP ZAP 是一款功能强大的免费工具,让每个开发团队都能进行专业级安全测试。通过掌握主动扫描、被动分析、报告生成和重新测试工作流程,您可以显着改善应用程序的安全状况。让 ZAP 成为您开发生命周期的常规部分,并从一开始就将安全性构建到您的软件中。