通过SCIM配置实现HackerOne账户接管漏洞分析

报告 #3178999 - 通过SCIM配置实现现有HackerOne账户接管

漏洞提交

boy_child_ 于2025年6月5日11:26 UTC向HackerOne提交报告。该黑客已完成身份验证(ID-verified)。

漏洞概述

经过多次尝试和分析,我能够通过SCIM(跨域身份管理系统)配置接管现有用户账户。使用SCIM配置需满足以下条件:

  • 已验证的域名
  • 正常工作的SSO(单点登录)配置

测试过程

初始测试步骤:

  1. 将组织用户导入Okta
  2. 收到错误提示:现有用户的电子邮件域名与已验证域名不匹配
  3. 更改电子邮件地址
  4. 结果:在组织用户页面创建新用户

经过多次尝试后,成功序列调整为:

  1. 在Okta中创建我控制的用户(如attacker@verified.com)
  2. 将组织用户导入Okta
  3. 将受害者账户分配给步骤1创建的用户
  4. 将电子邮件参数字段更改为attacker@verified.com
  5. 更改密码
  6. 成功接管!

技术细节

Okta中两个关键字段:用户名和电子邮件。

  • 如果攻击者使用已验证域名verified.com将victim@ato.com添加到Okta,会收到错误提示:ato.com与H1验证域名设置不匹配
  • 如果攻击者将用户名和电子邮件更改为victim@verified.com,将在H1组织中创建新用户
  • 如果攻击者使用verified.com域名添加victim@ato.com,用户名保持victim@ato.com,但电子邮件字段改为victim@verified.com,将更改受害者的电子邮件且不发送通知(问题2)

攻击者无法通过SSO提供商(Okta)登录,因为用户名victim@ato.com已被导入并使用。但通过设置密码重置(同样不向用户发送通知,问题3),新电子邮件由攻击者控制。

环境设置

  1. 从此处设置沙盒程序,不要删除演示成员
  2. 联系HackerOne支持为沙盒程序激活SSO和SCIM配置
  3. 使用Okta设置SSO
  4. 在Okta中设置SCIM
  5. 添加用户

复现步骤

  1. 转到Okta目录,添加可访问电子邮件的用户
  2. 转到为Hackerone SCIM配置的Okta应用程序,导入用户
  3. 在导入的用户中,分配用户demo-member@hackerone.com(如果演示成员已删除,则分配任何其他用户)
  4. 在为Hackerone SCIM配置的Okta应用程序下,点击Assignments选项卡,然后点击铅笔图标进行编辑
  5. 查找电子邮件字段,将其更改为您控制且符合验证域名的内容
  6. 保存
  7. 自动同步
  8. 重置用户密码,即可进入

影响评估

此漏洞极为关键,因为除了接管用户账户外,每个新组织(包括沙盒)默认存在两个用户:

  • Demo Triager demo-triager@hackerone.com
  • Demo Member demo-member@hackerone.com

这些默认成员始终存在,除非被移除。攻击者只需导入这些默认成员,保持用户名不变,更改电子邮件,重置密码即可进入。

官方响应与修复

HackerOne团队于6月16日确认漏洞并开始修复。最终修复方案要求:通过Okta使用SCIM配置用户时,必须确保用户名和电子邮件都属于HackerOne内控制的验证域名。即使导入用户并将其分配给Okta中控制的现有用户,也总是创建新用户,而不是用新电子邮件地址覆盖该用户。

时间线

  • 2025-06-05:漏洞提交
  • 2025-06-16:漏洞确认与奖励发放
  • 2025-06-17:修复验证完成
  • 2025-07-17:报告公开

更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
公众号二维码

posted @ 2025-08-22 06:01  qife  阅读(9)  评论(0)    收藏  举报