使用 Postman 集合扫描
如果您有针对 Web API 的请求的 Postman 集合,则可以将其导入并用作扫描的基础。
导入后,AppScan 会使用该集合运行自己的探索阶段,并在“仪表板”和“数据”视图中显示生成的数据。您要选择 AppScan 是自动继续运行测试阶段以完成扫描,还是您更愿意稍后再启动测试阶段。
AppScan 安装中包含用于扫描 AppScan 演示测试站点的示例 Postman 集合,请参阅 样本文件。
先决条件:
- 如果 Web API 需要授权,那么授权请求必须包含有效凭证(API 密钥、基本认证、OAuth 2 刷新令牌或其他固定令牌和密码)。授权请求必须是集合中第一批请求中的一个。缺省情况下,AppScan 会检查授权请求的前 7 个请求,但如果需要,可以在“配置 > 高级配置 > Postman”中增加此请求数。限制: 不支持需要用户在场的认证方法,例如带有提示用户的 OAuth2。但是,您可以将 OAuth2 与使用刷新令牌(也称为服务令牌)的脱机授权类型结合使用。
要导入 Postman 集合,请执行以下操作:
- 如果 AppScan 需要定制代理设置才能访问 Web API,请先在“配置”对话框 > 通信和代理> 代理 > 定制代理中配置这些设置。如需了解详情,请参阅 通信和代理。
- 转到,然后选择 API 类型作为 Postman 集合。
- 单击选择 Postman 集合以添加您的 Postman 集合。注: 支持 Postman 集合 V2.0 及更高版本。
- 在 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 或路径。
- Postman 集合文件:JSON 文件的完整 URL 或路径。
- 在域区域中 ,添加要包含在扫描中的所有域。您可以逐个添加这些域,也可以使用 CSV 文件一次添加多个域。这两种格式都有效:
https://demo.testfire.net/ demo.testfire.net重要: 未列出的域不会扫描。 - 单击导入。Postman 集合已导入。
- 如果要扫描 GraphQL Web API,请选择应用 GraphQL 定制参数,以便 AppScan 可以包含 GraphQL 预定义模板中的参数。
- 如果要扫描 OpenAPI,请选择应用 OpenAPI 定制参数,然后单击添加 OpenAPI 规范文件。单击浏览以添加有效的规范文件,以包含可改进扫描覆盖范围的参数,然后单击继续。
- 运行扫描以检测 Web API 中是否存在任何漏洞。注: 将某个 Postman 集合添加到配置后,就无法将其导出为 SCANT(模板)文件,因为该集合不能包含在模板中。您必须移除该集合或另存为 SCAN 文件。
- 如果您的集合包含登录凭证,请转到配置 > 登录管理,然后查找绿色的“登录配置成功”消息,以确认已检测到登录详细信息。
如果未检测到登录,请参阅Postman 集合扫描故障诊断。
使用多个集合
目前,每次扫描只能导入一个 Postman 集合。
要使用与第一个集合相同的配置来扫描第二个集合,请执行以下操作:
- 使用第一个集合配置并保存扫描后,转到文件 > 从当前配置新建扫描,然后导入第二个集合。