Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 143

访问控制失效

审核人Cybersecurity entrepreneur & security researcher

访问控制失效 是什么?

访问控制失效授权规则缺失或执行不当,使用户能够执行超出其权限的操作或访问越权数据的一类漏洞。


访问控制失效跃升至 OWASP Top 10(2021)的头号风险(#1),在 OWASP 测试的应用中有 94% 存在此问题,并对应 34 个 CWE,包括 CWE-284、CWE-639 和 CWE-862(缺少授权)。它发生在应用未能一致地执行可以做什么时——缺少服务端校验、依赖隐藏 URL(安全靠模糊)、信任客户端的角色信息,或在不验证归属的情况下暴露直接对象引用。

失效是如何发生的

授权必须在服务端针对每个请求重新评估。常见的失效是仅在 UI 或网关处执行授权,然后信任客户端发送的标识符。攻击者只需用不同的对象 ID、角色参数或 HTTP 方法重放该请求即可。

flowchart TD
  A[请求:GET /api/invoice/1043] --> B{已认证?}
  B -->|否| R[401 拒绝]
  B -->|是| C{归属 / 角色校验<br/>在服务端执行?}
  C -->|缺失| L[返回发票 1043<br/>即便它属于其他租户]
  C -->|存在| D{主体是否拥有<br/>或具有对象所需角色?}
  D -->|否| F[403 禁止]
  D -->|是| G[200 返回资源]
  L --> X[访问控制失效:<br/>IDOR / 数据泄露]

真实事件

First American Financial 数据泄露(2019)通过一个典型的 IDOR 暴露了约 8.85 亿份抵押贷款文件——连续的 URL 无需任何认证。Optus 数据泄露(2022,澳大利亚)通过一个未认证的 API 端点暴露了约 980 万条客户记录。USPS Informed Visibility(2018)允许任何已登录用户通过一个未受保护的 API 查询他人的账户数据。

防御措施

使用集中式、默认拒绝的授权中间件;对每个服务端操作执行归属校验;优先使用不透明或作用域受限的标识符;记录访问控制失败并对异常发出告警;禁用目录列表;在服务端使 JWT/会话作用域失效;并用集成测试和持续的 DAST 覆盖授权路径,而非依赖人工抽查。

示例

  1. 01

    普通用户调用 /api/admin/users 而无角色校验,获得完整列表。

  2. 02

    修改 URL 中的文档 UUID,读取其他客户的发票。

常见问题

访问控制失效 是什么?

授权规则缺失或执行不当,使用户能够执行超出其权限的操作或访问越权数据的一类漏洞。 它属于网络安全的 漏洞 分类。

访问控制失效 是什么意思?

授权规则缺失或执行不当,使用户能够执行超出其权限的操作或访问越权数据的一类漏洞。

如何防御 访问控制失效?

针对 访问控制失效 的防御通常结合技术控制与运营实践,详见上方完整定义。

访问控制失效 还有哪些其他名称?

常见的别称包括: BAC, 授权绕过。

相关术语

另见