用途
该技能用于在获得授权的安全评估中,系统化地识别和验证 Web 应用中的不安全直接对象引用(IDOR)漏洞。它覆盖两类对象引用:数据库对象引用和静态文件引用,并提供检测、利用与修复建议的完整方法。
主要能力
- 识别 IDOR 漏洞类型:直接引用数据库对象(如通过 id 参数访问用户资料)和直接引用静态文件(如通过文件名或路径枚举访问他人票据)。
- 侦察与准备:创建攻击者与受害者两个测试账号,捕获并分析包含数字 ID、GUID/UUID、文件路径等对象引用的请求,映射用户 ID 规律。
- 检测技术:URL 参数篡改、请求体篡改、HTTP 方法切换(如 GET 被拒绝时尝试 POST/PUT)。
- 利用与自动化:使用 Burp Suite 进行手工拦截改包,或使用 Intruder 的 Sniper、Battering Ram 等攻击类型对 ID 参数进行范围枚举。
- 常见位置覆盖:API 端点、文件下载路径、查询参数等。
- 提供测试清单、响应状态码解读、常见易受攻击参数表。
- 输出交付物:漏洞报告、概念验证证据、受影响端点列表、影响评估与修复建议。
使用方式
- 准备目标应用 URL、至少两个测试账号、Burp Suite 或代理工具,并取得书面授权。
- 理解对象引用方式(ID、文件名、GUID 等)。
- 以攻击者账号登录,捕获请求并记录对象引用。
- 修改 ID 或路径尝试访问其他用户资源,观察响应状态码与数据归属。
- 可用 Burp Intruder 对 ID 参数进行枚举,分析 200 响应。
- 对识别出的漏洞评估影响并给出修复建议。
适用场景
适用于获得授权的渗透测试、安全评估、防御性验证和受控教学环境,特别是需要验证跨用户访问控制是否完善的 Web 应用。
限制
- 需要至少两个有效用户账号进行验证。
- 部分应用使用会话绑定令牌而非 ID,或使用 GUID/UUID,增加枚举难度但并非不可能。
- 速率限制可能阻碍枚举。
- 某些 IDOR 需要链式漏洞才能利用。
- 存在检测挑战,如水平与垂直权限提升区分、盲 IDOR、异步操作中的时间型 IDOR、WebSocket 通信中的 IDOR。
- 法律要求:仅测试有明确授权的应用,记录所有测试活动,不得访问、修改或外泄真实用户数据,通过正规披露渠道报告。