跳转至

Insecure Direct Object Reference

不安全的直接对象引用 (IDOR)

描述

当应用程序在没有适当授权的情况下暴露对内部对象的直接引用时,就会发生不安全的直接对象引用 (IDOR)。

此类漏洞会导致不安全的直接引用,从而可能导致敏感数据被访问以及授权绕过。

建议

有多种方法可以防止间接对象引用漏洞:

  1. 使用间接对象引用: 不要暴露对内部对象(如数据库 ID)的直接引用,而是使用映射到服务器端对象的间接引用或令牌。这可以防止用户直接篡改标识符。

  2. 实施访问控制: 在前端和后端应用访问控制,以限制用户可以访问哪些数据。这包括基于角色的访问控制 (RBAC)、基于属性的访问控制 (ABAC) 或任何其他相关的访问控制机制。

  3. 使用密码学安全的对象引用: 如果可能,请使用 HMAC 或 UUID 等密码学技术生成不可预测的安全对象引用或令牌。

链接

标准

  • CWE_TOP_25:
    • CWE_862
  • PCI_STANDARDS:
    • REQ_2_2
    • REQ_6_2
    • REQ_6_3
    • REQ_6_4
    • REQ_7_3
    • REQ_11_3
  • SOC2_CONTROLS:
    • CC_2_1
    • CC_4_1
    • CC_6_1
    • CC_7_1
    • CC_7_2
    • CC_7_4
    • CC_7_5
  • HIPAA_CONTROLS:
    • SECURITY221
    • SECURITY212
    • SECURITY213