使用 REST API 配置损坏的访问控制测试

当应用程序未正确强制执行对经过身份验证的用户允许执行的操作的限制时,就会出现损坏的访问控制。攻击者可以利用这些漏洞获得对敏感数据或功能的未经授权的访问。

开始之前

在配置损坏的访问控制测试之前,请确保您满足以下要求:
  • 处于非“正在运行”或“已完成”状态的现有 DASTConfig 作业。
  • 要测试的角色的基线流量文件。支持的文件格式:.har.seqe.exd.dast.config(涵盖由 Activity Recorder 和 Traffic Recorder 生成的 FIPS 和非 FIPS 加密文件)。
  • 与基线流量文件 URL 完全匹配的目标 URL。
  • 每个角色不超过 200 MB 的文件大小。
注:
标准 .scan 文件不支持此功能。

关于此任务

此测试识别两个主要场景:
  • 垂直访问控制:低权限用户访问保留给高权限用户的功能或数据 (例如,标准用户访问管理仪表板)。
  • 水平访问控制:用户访问属于具有相同权限级别的另一个用户的数据 (例如,用户 A 查看用户 B 的私人帐户详细信息)。

为了防止在公共页面(无需身份验证即可访问的页面)上出现误报, AppScan Enterprise 使用增量机制。它将经过身份验证的用户流量与未经过身份验证的用户基线进行比较。如果页面可供未经过身份验证的用户访问, 则它充当排除列表,并且不会被标记为损坏的访问控制漏洞。

过程

  1. 添加角色并上传基线流量。
    使用 POST /jobs/{jobId}/brokenaccesscontrol/add 端点 将基线流量附加到活动扫描作业。您的请求必须使用 multipart/form-data。
    • Job ID:输入目标扫描作业所需的 JobID
    • 对于经过身份验证的角色:指定一个唯一的 roleName (例如,Admin 或 StandardUser)并提供文件路径。角色名称不得包含以下特殊字符: <>"'%;)(&+
    • 对于未经过身份验证的基线:将 isNonAuthenticated 参数设置为 true。完全省略 roleName 参数, 否则请求将失败。每个作业只能上传一个 未经过身份验证的基线文件。
  2. 运行扫描。
    为所有必需角色上传流量文件后,使用 POST /jobs/{jobId}/actions 端点启动 DAST 扫描。AppScan Enterprise 将抓取应用程序并根据提供的角色基线测试损坏的访问控制 漏洞。
  3. 可选: 更新或删除角色。
    如果您需要更新角色的流量文件或完全删除该角色, 请使用 DELETE /jobs/{jobId}/brokenaccesscontrol/delete 端点。提供 jobIdroleName。要 删除未经过身份验证的基线,请将 roleName 提供为 "Non-Authenticated-User"。 要更新角色,请重复步骤 1 以 使用新的流量文件重新添加它。