SuperAPI AI 工具集

idor-testing

安全与审计

查看项目

更新于 10-16 02:23

技能介绍

用途

该技能用于系统性地识别和利用 Web 应用中的不安全直接对象引用(IDOR)漏洞,覆盖数据库对象引用和静态文件引用两类场景,并提供检测、利用与修复的完整方法论。

主要能力

  • 识别两类 IDOR:直接引用数据库对象(如通过 id 参数访问他人记录)和直接引用静态文件(如通过可枚举的文件路径访问他人文件)。
  • 检测技术:URL 参数篡改、请求体篡改、HTTP 方法切换(GET/POST/PUT 等)。
  • 利用方式:使用 Burp Suite 手动拦截并修改请求;使用 Intruder 进行自动化枚举(Sniper、Battering Ram 等攻击类型)。
  • 常见易受攻击位置:API 端点(/api/user/{id}、/api/order/{id} 等)、文件下载路径、查询参数。
  • 提供 IDOR 测试清单、响应状态码解读、常见易受攻击参数列表。
  • 提供修复指导:实施正确的访问控制、使用间接引用、服务端校验。

使用方式

  1. 准备:创建至少两个测试账号(攻击者与受害者),识别请求中的对象引用(数字 ID、GUID/UUID、文件路径等),映射用户 ID 模式。
  2. 检测:捕获原始认证请求,修改 ID 或请求体中的用户标识,观察是否返回他人数据;尝试切换 HTTP 方法。
  3. 利用:配置浏览器代理经 Burp Suite,登录攻击者账号,拦截请求并修改 ID 为受害者 ID,转发后观察响应;或使用 Intruder 配置 payload 位置与数字范围进行枚举。
  4. 验证:通过响应状态码(200 可能为 IDOR)、响应内容中的 PII 标记、响应长度差异等确认影响。
  5. 修复:在服务端校验资源归属,使用间接引用(如 /api/address/current-user/billing),始终按当前用户过滤查询。

适用场景

  • Web 应用安全测试中检查访问控制缺陷。
  • 需要验证跨用户数据访问(水平权限提升)或用户到管理员(垂直权限提升)的场景。
  • 文件下载、API 端点、查询参数等存在可预测对象引用的场景。

限制

  • 需要至少两个有效用户账号进行验证。
  • 部分应用使用会话绑定令牌而非 ID,GUID/UUID 更难枚举但并非不可能。
  • 速率限制可能限制枚举尝试。
  • 部分 IDOR 需要链式漏洞才能利用。
  • 检测挑战包括:盲 IDOR(响应不确认访问)、异步操作中的时间型 IDOR、WebSocket 通信中的 IDOR。
  • 法律要求:仅测试获得明确授权的应用,记录所有测试活动与发现,不得访问、修改或外泄真实用户数据,通过正规披露渠道报告。

故障排除

  • 所有请求返回 403:尝试 HTTP 方法切换、添加 X-Original-URL 或 X-Rewrite-URL 头、参数污染、URL 编码变体、字符串 ID 大小写变体。
  • 使用 UUID:检查响应体、JavaScript 文件、API 响应、错误消息中的 UUID 泄露,尝试 UUID v1 预测。
  • 会话令牌绑定用户:测试未认证端点、密码重置/邮箱验证流程、文件上传/下载、API 版本差异、移动 API 端点。
  • 速率限制:添加延迟、轮换 IP、针对高价值 ID、使用不同端点、在非高峰时段测试。
  • 无法验证影响:在受害者账号创建唯一可识别数据、查找 PII 标记、比较响应长度、检查时间差异、使用次要指标(创建日期、元数据)。