单点登录(SSO)配置错误导致权限提升

admin 2026-03-06 18:15:57 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文档详述了两个SSO配置错误引发的严重漏洞。一是系统未正确处理邮箱变更,错误赋予新身份最高权限致组织接管;二是子域邮箱修改未同步主域,攻击者可利用原邮箱注册接管受害者账户。文章指出身份同步与权限校验缺失是根因,建议确保SSO身份状态的动态一致性。 综合评分: 86 文章分类: 漏洞分析,渗透测试,SRC活动,实战经验,WEB安全


cover_image

单点登录 (SSO) 配置错误导致权限提升

haidragon haidragon

安全狗的自我修养

2026年3月6日 12:12 湖南

官网:http://securitytech.cc

SSO 配置错误导致权限提升,引发全组织接管

在我最近的安全研究中,我探索了一些 SSO(单点登录) 实现,并发现了两个 SSO 配置错误,这些错误允许攻击者实现 账户完全接管 和 组织完全接管。本文将带你了解这些漏洞发现过程、漏洞利用方法,以及保护 SSO 系统的关键经验。


1. 什么是 SSO(Single Sign-On)?

单点登录(SSO)是一种认证方法,允许用户使用一次登录访问多个应用。 一个中心化的 身份提供商(IdP) 验证用户身份,然后向其他连接的服务发送可信的认证令牌。其他服务接受令牌并授予访问权限,无需用户再次登录。 这种方式便于在多个系统间统一管理身份认证。

按 Enter 或点击查看原图

该平台允许组织通过邀请成员加入其账户进行协作。管理员可以分配不同权限等级,如技术、消息、创意管理、广告管理或账户管理。这些角色允许用户执行敏感操作,包括管理用户和财务信息。


2. 本案例中的 SSO 架构

在这个案例中,主域充当 中心认证提供者,多个子域信任主域认证。 用户在主域认证后,可以访问子域而无需再次登录。

子域信任主域发出的认证会话,并根据 SSO 流程中收到的身份信息授予访问权限。


3. 目标

该平台允许组织通过邀请成员加入账户进行协作。管理员可以分配不同权限等级,执行敏感操作,包括用户管理和财务管理。


4. 漏洞问题

我观察到的第一件事是,当用户创建一个组织时,系统会自动赋予其 最高权限。 这在很多平台都是标准行为,确保组织所有者可以全面控制设置、成员和管理功能。在这一阶段,一切看起来正常。

几天后,我开始探索系统在 SSO 身份变更情况下的行为。我想,如果用户在主域修改了邮箱,然后再次访问平台,会发生什么? 结果令人惊讶:系统把它当作 全新用户

由于该邮箱未与组织内任何已邀请或注册用户匹配,平台“混淆”,自动授予最高权限。 本质上,系统逻辑假设任何未识别用户都应获得完全访问权限,就像新组织所有者一样。 这意味着,现有用户只需在主域更改身份,就能获得 组织内的完全管理员控制权——这是正常情况下绝不应该发生的。

这一发现揭示了平台在跨系统处理身份与权限分配时的根本缺陷。平台依赖邮箱识别,而非严格验证原始身份,从而可被绕过,导致 意外权限提升


5. 漏洞原因

问题在于系统将存储的邮箱视为 静态,即不动态检查或更新用户在主域的邮箱。 邮箱在系统中保持固定,而用户的变更未被识别。

这导致平台将邮箱已更改的用户视为完全未知。系统假设任何未知用户都是新用户,因此自动授予 最高权限。 换句话说,邮箱应该是 动态 的——实时更新和验证——但它不是。 平台的静态邮箱与主域动态变更之间的不匹配,为权限提升打开了大门。


6. 修复与奖励

该漏洞于 2026 年 2 月 10 日 报告,安全团队在 2 月 16 日 修复。该漏洞报告获得奖励 $$

按 Enter 或点击查看原图


7. 第二个漏洞:SSO 邮箱同步漏洞导致账户接管

在测试同一平台时,我开始检查子域身份处理。该平台约有 七个子域,都可通过主域 SSO 认证。

我注意到,几乎所有子域都 禁止修改用户邮箱,邮箱字段被锁定或根本不存在选项。 一开始我认为这是故意为之,因为平台依赖主域作为权威身份提供者。

然而,有一个子域行为不同。

令人惊讶的是,该子域 允许用户直接修改邮箱。 这立刻引起我的注意,因为它破坏了平台其他部分的一致性。

按 Enter 或点击查看原图

我开始思考可能的身份不同步场景。

如果用户在该子域将邮箱改为 [email protected],其 原邮箱在主域上就会释放。 问题来了:

如果有人用原邮箱在主域注册新账户,会发生什么?

我测试了这个场景:更新子域邮箱后,用原邮箱在主域注册新账户。 然后通过 SSO 认证访问同一子域。

结果出乎意料。

系统没有将登录视为全新账户,而是 将新的 SSO 会话关联到子域原用户账户。 也就是说,我突然以 受害者身份登录,访问其账户及数据。


8. 漏洞原因

问题在于 主域与子域之间缺乏正确邮箱同步。 子域允许本地修改邮箱,而主域在 SSO 验证时仍依赖旧邮箱作为主标识。

系统间的不一致导致身份混淆,平台错误地将攻击者会话关联到受害者账户,最终导致 账户完全接管


9. 修复与奖励

该漏洞在 一个月内 报告并修复,漏洞报告获得奖励 $$

按 Enter 或点击查看原图


10. 总结

我通过 两个亲身遇到的场景 尽可能清晰地解释了 SSO 配置错误。

希望大家觉得这篇文章有用!

  • 公众号:安全狗的自我修养
  • vx:2207344074
  • http://gitee.com/haidragon
  • http://github.com/haidragon
  • bilibili:haidragonx

#


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:安全狗的自我修养 haidragon haidragon《单点登录 (SSO) 配置错误导致权限提升》

评论:0   参与:  0