网络安全专业术语
IDOR
Insecure Direct Object Reference
不安全的直接对象引用 · 改个 ID 就能看别人的数据
攻击/渗透应用安全
IDOR
- 定义
- IDOR(Insecure Direct Object Reference)是网络安全领域的专业术语。IDOR 是最简单但最常见的权限漏洞——把 URL 中的 user_id=123 改成 user_id=124,就能看到别人的数据。
最后更新:2026-03-18
什么是IDOR?
IDOR 是最简单但最常见的权限漏洞——把 URL 中的 user_id=123 改成 user_id=124,就能看到别人的数据。Bug Bounty 中 IDOR 的报告量常年排名前三。
- 最简单的漏洞类型之一,但危害可能很大
- 核心问题:缺少服务端权限校验
- Bug Bounty 中最常见的漏洞类型之一
IDOR详解
IDOR 发生在应用程序使用用户可控的标识符(如 ID、文件名)直接访问后端对象,但未验证当前用户是否有权访问该对象。攻击者只需遍历或猜测标识符就能访问其他用户的数据。防御方法包括:服务端权限校验、使用不可预测的标识符(UUID)、以及基于会话的访问控制。IDOR 看似简单,但在大型应用中很容易遗漏,特别是在 API 端点和批量操作中。
IDOR的应用场景
正式定义
应用程序使用用户可控的标识符直接访问后端对象但未验证访问权限的安全漏洞
应用场景
- API 安全测试
- 权限模型的完整性验证
- Bug Bounty 漏洞挖掘
常见误区
- IDOR 不只是改 ID,文件名、订单号等都可能存在
- 使用 UUID 不能完全防止 IDOR,权限校验才是根本
- IDOR 可能存在于任何有对象引用的 API 端点
实际案例
📌 IDOR 泄露用户数据
某电商平台的订单详情 API /api/orders/12345 未做权限校验,攻击者遍历订单 ID 获取了 10 万用户的姓名、地址和购买记录。
IDOR的参考来源
关于IDOR的常见问题
- IDOR 是什么意思
- 通过修改请求中的 ID 参数(如用户 ID、订单号)访问其他用户的数据,本质是缺少权限校验。
- IDOR 怎么防御
- 服务端校验当前用户是否有权访问请求的资源、使用不可预测的 UUID 替代自增 ID、实施 RBAC。