Entry № 604
不安全的直接对象引用 (IDOR)
不安全的直接对象引用 (IDOR) 是什么?
不安全的直接对象引用 (IDOR)应用将内部对象的引用暴露给用户,用户可篡改该引用以访问本不属于自己的数据的访问控制缺陷。
IDOR 是指接口使用用户提交的标识符(数字 ID、UUID、文件名、账号)读取或修改对象,却未校验调用者是否对该对象拥有权限。顺序自增 ID 和可预测引用极易被利用,即使是 UUID,只要可被猜测或泄露同样不安全。IDOR 是漏洞赏金中最常见的发现之一,也是多租户数据泄露的主要原因。修复方法包括对每个请求在服务端检查所有权、按当前用户/租户限定数据库查询、使用间接引用(每会话不透明映射),并补充水平越权访问的自动化测试。
● 示例
- 01
将 /invoices/1042 改为 /invoices/1043,读取其他客户的发票。
- 02
修改头像 URL 参数,覆盖其他用户的头像。
● 常见问题
不安全的直接对象引用 (IDOR) 是什么?
应用将内部对象的引用暴露给用户,用户可篡改该引用以访问本不属于自己的数据的访问控制缺陷。 它属于网络安全的 漏洞 分类。
不安全的直接对象引用 (IDOR) 是什么意思?
应用将内部对象的引用暴露给用户,用户可篡改该引用以访问本不属于自己的数据的访问控制缺陷。
如何防御 不安全的直接对象引用 (IDOR)?
针对 不安全的直接对象引用 (IDOR) 的防御通常结合技术控制与运营实践,详见上方完整定义。
不安全的直接对象引用 (IDOR) 还有哪些其他名称?
常见的别称包括: IDOR, 直接对象引用漏洞。