2023年OWASP API安全指南 | 作者:sourav - Medium

作者:API传播员 · 2025-11-11 · 阅读时间:5分钟
2023年OWASP API安全指南详细解析了API安全前十名漏洞,包括对象级授权中断(BOLA)、身份验证失败和服务器端请求伪造(SSRF)等,提供技术细节和防护措施,帮助开发者加强授权控制、实施速率限制和验证用户输入以提升API安全性。

2023年OWASP API安全指南

OWASP 最近发布了 2023 版本的 API 安全系列,其中列出了最新的 API 安全前十名漏洞。本文将详细介绍这些漏洞,并分析它们的技术细节和潜在风险。


OWASP API 安全前十名漏洞列表

以下是 OWASP 2023 API 安全前十名漏洞的概要:

  1. 对象级授权中断(BOLA)
  2. 身份验证失败
  3. 破碎的对象属性级授权(BOPLA)
  4. 资源消耗不受限制
  5. 功能级别授权中断(BFLA)
  6. 不受限制地访问敏感业务流
  7. 服务器端请求伪造(SSRF)
  8. 安全配置错误
  9. 库存管理不当
  10. API 的不安全消耗

接下来,我们将逐一分析这些漏洞的技术细节。


对象级授权中断(BOLA)

BOLA 是指 API 提供者在授权控制中存在漏洞,导致用户能够访问不属于其权限范围的敏感信息。这种漏洞通常与不安全直接对象引用(IDOR)类似。

示例

以下 API 请求中,粗体部分的资源 ID 是潜在的攻击目标:

  • GET /api/用户/1
  • GET /用户/帐户/查找?user_id=aE1230000
  • POST /公司/账户/苹果/余额
  • GET /admin/设置/帐户/**bman**

攻击者可以通过修改这些资源 ID 来尝试访问其他用户的数据,例如:

  • GET /api/资源/3
  • GET /用户/帐户/查找?user_id=23

防护措施

  • 实现严格的授权控制,确保用户只能访问与其权限相关的数据。
  • 使用不可预测的资源标识符(如 UUID)代替简单的 ID。

身份验证失败

身份验证失败是指 API 无法有效验证用户身份,可能导致敏感信息泄露。

常见问题

  • 弱密码策略:允许用户设置简单密码或更改密码时不进行额外验证。
  • 凭证填充攻击:攻击者利用已泄露的凭证尝试登录,若未设置速率限制,攻击可能成功。
  • 身份验证令牌泄露:在 URL 中暴露身份验证令牌。

防护措施

  • 强制使用多因素身份验证(MFA)。
  • 实施速率限制和防火墙。
  • 避免在 URL 中传递敏感信息。

破碎的对象属性级授权(BOPLA)

BOPLA 是过度数据暴露和批量分配问题的结合。API 端点可能会暴露敏感对象的属性,或允许用户修改不应访问的属性。

示例

GET /api/用户/达明
{
  "行动": "报告",
  "uid": 44
}

上述响应可能返回用户的敏感数据,导致数据泄露。

防护措施

  • 限制 API 响应中返回的数据,仅提供必要信息。
  • 对用户可修改的属性进行严格验证。

资源消耗不受限制

API 缺乏资源和速率限制可能导致拒绝服务(DoS)攻击或高额财务损失。

常见问题

  • 执行超时设置不当。
  • 缺乏对上传文件大小、请求操作数的限制。
  • 第三方服务支出限额未设置。

防护措施

  • 设置合理的资源限制,如最大内存、超时时间等。
  • 实施速率限制和 API 使用监控。

功能级别授权中断(BFLA)

BFLA 是指 API 功能的访问控制不足,攻击者可以执行其他角色的操作。

示例

攻击者通过修改以下请求:

DELETE /api/用户/21
{
  "名字": "vicky"
}

/用户 更改为 /admin,可能获得管理员权限并删除用户。

防护措施

  • 实现基于角色的访问控制(RBAC)。
  • 验证用户权限是否匹配请求的功能。

服务器端请求伪造(SSRF)

SSRF 漏洞允许攻击者通过 API 请求访问内部资源。

示例

攻击者通过以下请求发送恶意 URL:

POST /api/profile/upload_picture
{
  "picture_url": "http://example.com/profile_pic.jpg"
}

攻击者可能利用此漏洞进行端口扫描或访问敏感资源。

防护措施

  • 验证用户输入的 URL,限制访问范围。
  • 禁止 API 请求访问内部网络。

安全配置错误

安全配置错误可能导致数据泄露或系统被攻破。

常见问题

  • 使用默认账户或凭据。
  • 配置错误的 HTTP 头(如 X-Powered-By)。
  • 缺乏输入净化,允许上传恶意文件。

防护措施

  • 定期更新和修补系统漏洞。
  • 禁用不必要的 HTTP 方法。
  • 实施严格的输入验证和净化。

库存管理不当

暴露非生产或不受支持的 API 版本可能导致安全风险。

示例

攻击者通过测试以下路径发现旧版本 API:

  • /api/v1/帐户
  • /api/v2/帐户

防护措施

  • 定期清理和更新 API 文档。
  • 禁用不再使用的 API 版本。

API 的不安全消耗

API 集成第三方服务时,若未遵循最小权限原则,可能导致数据泄露或被利用。

示例

攻击者利用第三方服务返回的恶意数据,触发 SQL 注入或其他漏洞。

防护措施

  • 使用最小权限策略。
  • 对第三方服务返回的数据进行验证。

总结

OWASP 2023 API 安全指南强调了 API 安全的重要性,并列出了常见的漏洞类型。开发者应根据这些漏洞采取相应的防护措施,例如加强授权控制、实施速率限制、验证用户输入等,以确保 API 的安全性和稳定性。

原文链接: https://medium.com/@sourav_chakraborty/a-guide-to-owasp-api-security-2023-574a9704ddb5