使用 Postman 集合扫描

如果您有针对 Web API 的请求的 Postman 集合,则可以将其导入并用作扫描的基础。

导入后,AppScan 会使用该集合运行自己的探索阶段,并在“仪表板”和“数据”视图中显示生成的数据。您要选择 AppScan 是自动继续运行测试阶段以完成扫描,还是您更愿意稍后再启动测试阶段。

AppScan 安装中包含用于扫描 AppScan 演示测试站点的示例 Postman 集合,请参阅 样本文件

先决条件:
  • 如果 Web API 需要授权,那么授权请求必须包含有效凭证(API 密钥、基本认证、OAuth 2 刷新令牌或其他固定令牌和密码)。授权请求必须是集合中第一批请求中的一个。缺省情况下,AppScan 会检查授权请求的前 7 个请求,但如果需要,可以在“配置 > 高级配置 > Postman”中增加此请求数。
    限制: 不支持需要用户在场的认证方法,例如带有提示用户的 OAuth2。但是,您可以将 OAuth2 与使用刷新令牌(也称为服务令牌)的脱机授权类型结合使用。
要导入 Postman 集合,请执行以下操作:
  1. 如果 AppScan 需要定制代理设置才能访问 Web API,请先在“配置”对话框 > 通信和代理> 代理 > 定制代理中配置这些设置。如需了解详情,请参阅 通信和代理
  2. 转到配置 > API,然后选择 API 类型作为 Postman 集合
  3. 单击选择 Postman 集合以添加您的 Postman 集合。
    注: 支持 Postman 集合 V2.0 及更高版本。
  4. Postman 集合文件区域中,输入以下内容:
    • Postman 集合文件:JSON 文件的完整 URL 或路径。
      重要: 文件扩展名必须是 .json
    • 链接的文件(可选):如果集合包含指向其他文件的链接,则必须将其全部包含在一个 ZIP 文件中,然后在此处选择该 ZIP 文件。以下条件适用:
      • 文件路径必须是相对于集合的相对路径,而不是绝对路径
      • 文件必须位于 Postman 集合文件夹中(可以是子文件夹),而不是位于该文件夹外
      • 路径必须与 Postman 集合中使用的路径相同
      • 如何在 Postman 集合中设置文件参数的示例:
        {
              "key": "Param1",
              "type": "file",
              "src": "./filename1.txt"
        },
    • Postman Environment 文件(可选):如果集合使用环境变量,则必须提供 Postman Environment JSON 文件的完整 URL 或路径。
    • Postman Globals 文件(可选):如果集合使用全局变量,则必须提供 Postman Globals JSON 文件的完整 URL 或路径。
  5. 区域中 ,添加要包含在扫描中的所有域。您可以逐个添加这些域,也可以使用 CSV 文件一次添加多个域。这两种格式都有效:
    https://demo.testfire.net/
    demo.testfire.net
    重要: 未列出的域不会扫描。
  6. 单击导入。Postman 集合已导入。
  7. 如果要扫描 GraphQL Web API,请选择应用 GraphQL 定制参数,以便 AppScan 可以包含 GraphQL 预定义模板中的参数。
  8. 如果要扫描 OpenAPI,请选择应用 OpenAPI 定制参数,然后单击添加 OpenAPI 规范文件。单击浏览以添加有效的规范文件,以包含可改进扫描覆盖范围的参数,然后单击继续
  9. 运行扫描以检测 Web API 中是否存在任何漏洞。
    注: 将某个 Postman 集合添加到配置后,就无法将其导出为 SCANT(模板)文件,因为该集合不能包含在模板中。您必须移除该集合或另存为 SCAN 文件。
  10. 如果您的集合包含登录凭证,请转到配置 > 登录管理,然后查找绿色的“登录配置成功”消息,以确认已检测到登录详细信息。含“重新验证”按钮的“登录配置成功”消息。如果检测到登录,请参阅Postman 集合扫描故障诊断

使用多个集合

目前,每次扫描只能导入一个 Postman 集合。

要使用与第一个集合相同的配置来扫描第二个集合,请执行以下操作:
  • 使用第一个集合配置并保存扫描后,转到文件 > 从当前配置新建扫描,然后导入第二个集合。
如果不需要相同的配置,只需为第二个集合创建一个新扫描即可。