IDOR漏洞报告:AddTagToAssets操作分析
漏洞概述
不安全直接对象引用(IDOR)发生在应用程序暴露对内部实现对象的引用时。这种方式会泄露存储后端使用的真实标识符和格式/模式。最常见的例子(但不限于此)是存储系统(数据库、文件系统等)中的记录标识符。
IDOR本身不会直接带来安全问题,因为它仅暴露对象标识符的格式/模式。但根据具体的格式/模式,攻击者可能利用IDOR发起枚举攻击,尝试访问相关对象。
漏洞端点
https://hackerone.com/graphql
复现步骤
- 创建两个H1账号(攻击者和受害者),并分别创建范围资产
- 受害者创建一个新的自定义标签
- 将标签分配给攻击者的范围资产,捕获请求
- 获得包含
operationName: AddTagToAssets
的请求,其中tagId
参数包含base64编码的密文 - 解码后格式为:
gid://hackerone/AsmTag/4979xxxx
- 暴力破解AsmTagId并替换tagId参数
- 将获得200 OK响应状态,包含错误信息:
{"data":null,"errors":[{"message":"AsmTag does not exist","locations":[{"line":2,"column":3}],"path":["addTagToAssets"],"type":"NOT_FOUND"}]}
漏洞影响
无需受害者任何交互即可成功泄露受害者的所有新自定义标签。
修复建议
IDOR意味着在查询中直接使用用户提交的数据修改数据库对象,而没有检查或验证该数据。应首先检查提交请求的用户是否在篡改数据,以及是否提交了不属于其账户的任何ID。
时间线
- 2024-07-31:漏洞提交
- 2024-11-26:奖励赏金
- 2024-12-16:确认修复并支付175美元重测费用
- 2025-06-08:漏洞公开
严重程度
中等(5.3)
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
公众号二维码