HackerOne漏洞报告 #1577940:已封禁用户仍可通过API密钥访问其已删除账户
摘要
当用户的账户被永久封禁后,他将无法提交报告,且一旦没有待处理的支付,账户将被删除。用户无法登录或查看个人资料。但通过使用封禁前生成的API令牌,用户仍能:
- 获取报告
- 获取余额
- 获取收益
- 获取支付记录
- 获取弱点信息
- 获取程序信息
简言之,用户可执行HackerOne API参考文档中列出的所有操作。
复现步骤
- 创建一个新账户。
- 永久封禁该账户(等待批准后分享被封禁账户的API令牌)。
假设:
- 用户名:mrtst
- API令牌:XXXXXXXXXXXXXXXXXXXX=
漏洞利用
获取报告(包括单个报告)
|
|
获取余额
|
|
获取收益
|
|
获取支付记录
|
|
获取弱点信息
|
|
获取程序信息
|
|
影响
被封禁的用户可以完全访问其已删除的账户。
注意:此漏洞在测试账户中发现和利用,仅用于测试目的,希望未违反任何规则。批准后将分享令牌。
后续更新
2022年5月23日
获得批准,提供测试用户@mrtst及令牌:zco8RyMaV6EkgQ+5rwOSLExuGww36dr8uOHC7U5oEbA=,并验证所有API端点均可用。
2022年5月25日
HackerOne团队确认报告,将其归类为“不当访问控制-通用”弱点,严重性从中等(5.0)调整。
补充影响
- 被封禁用户仍可通过API端点提交新报告:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21curl "https://api.hackerone.com/v1/hackers/reports" \ -X POST \ -u "<YOUR_API_USERNAME>:<YOUR_API_TOKEN>" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d @- <<EOD { "data": { "type": "report", "attributes": { "team_handle": "string", "title": "string", "vulnerability_information": "string", "impact": "string", "severity_rating": "none", "weakness_id": 0, "structured_scope_id": 0 } } } EOD - 即使用户不存在,GraphQL端点(https://hackerone.com/graphql)也存在相同问题,可获取所有个人资料信息。
- 用户仍接收私人程序邀请,封禁无效。
2022年6月2日
报告被标记为“已分类”,奖励发放。团队确认此为盲点,将修复。
2022年8月3日
修复发布,请求重测。重测确认问题已解决,报告关闭。
2025年6月14日
报告公开披露。
报告详情
- 报告ID:#1577940
- 状态:已解决
- 严重性:中等(5.0)
- 弱点:不当访问控制-通用
- CVE ID:无
- 赏金:隐藏