动态扫描程序

南非

扫描工具 Web Mobile Local API Extension Serverless 操作说明
OWASP® Zed Attack Proxy (ZAP)

使用 OWASP ZAP;ZAP Docker 容器对您的应用执行自动动态扫描 (DAST)。预定义的配置文件已包含所有必要的 CWE。您只需将其添加到您的环境和 Docker 运行命令中即可。

如需了解每种类型的定义,请点击此处 应用类型

如需对 Web、移动应用或内部应用进行全面扫描,请按以下步骤操作:

  1. DAST 和 API 扫描将使用 ZAP Docker 映像运行。对于 Web、移动应用或内部应用,完整的 ZAP 扫描应该在 prod-1 或预演环境中运行。 

  2. 下载 zap-casa-config.conf 配置文件并导航到其目录。 

  1. 生成用于扫描的上下文文件。如需了解详情,请参阅下面的“身份验证”说明。

  1. 运行以下命令:

docker run -p 8080:8080 -v $(pwd):/zap/wrk/:rw -t owasp/zap2docker-stable zap-full-scan.py 
-t https://example.com -P 8080 
-c zap-casa-config.conf 
-x results-full.xml -n example.context -U username
  1. 输出将保存在 XML 文件中(示例如下:zap-results-full.xml

您可以按照以下步骤执行 API 扫描:

  1. 对于 API 扫描,请使用 zap-casa-api-config.conf 配置文件。 

  1. 转到其目录,然后运行以下命令

docker run -p 8080:8080 -v $(pwd):/zap/wrk/:rw 
-t owasp/zap2docker-stable zap-api-scan.py 
-t https://example.com -f openapi-P 8080 
-c zap-casa-api-config.conf 
-x results-full.xml
  1. 输出将保存在 XML 文件中(示例如下:zap-results-api.xml

身份验证

ZAP 扫描应使用身份验证执行,以了解用户数据的存储和访问位置。您需要先执行配置,然后才能运行扫描。ZAP Docker 映像允许使用与身份验证相关的两个参数:

-n context_file

将在扫描目标之前加载的上下文文件

-U 位用户

用于经过身份验证的扫描的用户名。您必须在给定的上下文文件中定义用户。

要设置这些参数,必须创建一个上下文文件。这可通过 ZAP 桌面界面轻松完成。

Zap 上下文
  1. 设置身份验证机制。ZAP 目前支持五种身份验证方法:

    • 手动身份验证

    • 基于表单的身份验证

    • HTTP/NTLM 身份验证

    • 基于脚本的身份验证

    • 基于 JSON 的身份验证

Zap 身份验证
  1. 定义身份验证参数。一般包括登录网址和载荷格式(用户名和密码)。必需的参数特定于所使用的身份验证方法。
zap 配置身份验证
  1. 添加有效的用户名和密码。如果应用根据角色提供不同的功能,请创建多个用户。
zap 配置用户

配置这些设置后,您可以将上下文导出为文件,以供扫描参考。

Zap 导出上下文

请务必将上下文保存在容易引用的位置,因为您需要将文件路径添加为扫描命令的参数。现在,您可以使用在上下文中指定的用户登录信息运行经过身份验证的扫描。示例:

zap 创建用户
  docker run -p 8080:8080 -v $(pwd):/zap/wrk/:rw 
  -t owasp/zap2docker-stable zap-full-scan.py 
  -t https://example.com -P 8080 
  -c zap-casa-config.conf -x results-full.xml 
  -n /Users/DemoUser/Documents/Context.context -U test@example.com