盲注IDOR
盲注IDOR,指那些无法在直接响应中观察到越权结果,但能通过侧信道或间接方式推断出漏洞存在的场景。这类漏洞虽然较少见,但理解其原理对于提升渗透测试深度至关重要。
# 1. 触发通知(邮件/短信/推送)
# 修改他人账户的通知设置,如果对方收到邮件,则说明操作成功
# 2. 导出/报告功能
# 导出数据时使用他人的 ID,检查下载的文件内容是否包含对方信息
# 3. 计时攻击
# 合法 ID 响应时间 200ms,非法 ID 响应时间 50ms(快速失败)
# 越权的 ID 响应时间 200ms,说明后端处理了该请求
# 4. 外部服务交互
# 如添加他人的邮箱到某个服务,该服务会发送验证邮件
ID 泄露与发现
高效地找到有效的 ID 参数并分析其规律,是成功利用 IDOR 漏洞的前提。以下是一些高效的发现思路:
# 1. 客户端存储
# LocalStorage, SessionStorage, Cookies, PWA 数据库中可能存有 user_id 等信息
# 2. 前端 JavaScript 文件
# 在 JS 代码中搜索 “userId”, “accountId”, “id” 等关键词,可能发现 API 路径和 ID 格式
# 3. 分享/邀请/协作功能
# 分享链接通常会暴露资源的 GUID 或编码后的 ID
# 4. API 响应体/响应头
# 登录或创建资源后,响应中可能包含其他用户的 ID 或相关对象的 ID
# Location 或 X-Redirect-To 头中也可能泄露
# 5. 公开信息泄露
# Google Dorks: site:example.com “userId” | “invoice_id”
# GitHub, Wayback Machine, API 文档
掌握这些信息收集方法,是成为一名优秀的安全研究员,特别是精通安全/渗透测试的关键技能之一。
组合攻击
将 IDOR 与其他漏洞结合,往往能产生更严重的危害,甚至将低危漏洞提升为高危。
# 1. IDOR + XSS → 存储型 XSS 注入到他人账户。如果有发现一些 self XSS 也可以组合利用下。
# 2. IDOR + CSRF
# 3. IDOR + 文件上传
例如,在一个存在 IDOR 的评论编辑功能中,如果能将 XSS 载荷注入到其他用户的公开评论中,其危害远大于仅能修改自己评论的自存储 XSS(Self-XSS)。这种漏洞组合利用的思路,在深度渗透测试中具有很高的实战价值。
|