漏洞挖掘 | 强制 SSO 会话固定

admin 2024年10月3日15:37:42评论29 views字数 1232阅读4分6秒阅读模式

扫码领资料

获网安教程

漏洞挖掘 | 强制 SSO 会话固定

漏洞挖掘 | 强制 SSO 会话固定

Track安全社区投稿~  

千元稿费!还有保底奖励~(https://bbs.zkaq.cn)

在最近的一个项目中,我遇到了一个有趣的小问题,该问题允许通过固定会话标识符并强制受害者的浏览器启动单点登录 (SSO) 流程的第一步来实现一键式帐户接管。由于缺乏反 CSRF 令牌验证,因此可能存在此漏洞。

登录页面

登录页面展示了“使用SSO登录”功能:

漏洞挖掘 | 强制 SSO 会话固定

研究 SSO 流程

在研究 SSO 流程后,我发现了以下步骤顺序:

1.单击按钮启动 SSO 流程: 向 /idp/auth/mid-oidc?req=[UNIQUE_ID]&redirect_uri=[REDIRECT_URI] 发出GET请求
2.SSO 服务提供商流程 在服务提供商域上发出多个请求,类似于登录 Google,其中请求被发送到 google.com。如果用户之前已登录,则会自动执行操作。
3.点击回调 URL 服务提供商端授权后,会向回调 URL 发出请求: GET /idp/callback?code=[STUFF]&state=[STUFF]。 然而,这不是返回会话令牌的最后一步,还需要一个额外的步骤。
4.发出会话令牌 请求获取会话令牌。 获取 /idp/approval?req=[UNIQUE_ID] UNIQUE_ID值与第一步中的值相同。这意味着,如果您知道这个值,您可以点击此方法并获得会话。由于不存在csrf 保护,因此可以执行会话固定。
漏洞挖掘 | 强制 SSO 会话固定

漏洞利用场景

“攻击者”在其计算机上打开 URL 并提取“使用 SSO 登录”按钮链接:
漏洞挖掘 | 强制 SSO 会话固定
攻击者从复制的链接中提取“req”参数并启动漏洞利用:
漏洞挖掘 | 强制 SSO 会话固定
漏洞挖掘 | 强制 SSO 会话固定
然后,攻击者将包含“req”参数的链接发送给“受害者”。
在浏览器中打开链接后,“受害者”遇到一条错误消息:
漏洞挖掘 | 强制 SSO 会话固定

该漏洞是如何发挥作用的?

攻击者执行的恶意脚本利用10个线程向/idp/approval?req={req}发出多个请求。
最初,服务器对这些请求的响应是500错误。但是,当受害者启动 SSO 流时,但在处理对“approval”URL 的请求之前,对上述端点的所有后续请求都会返回带有会话令牌的有效链接。
利用该漏洞,“攻击者”获取会话 URL 并可以完成登录流程,有效地以“受害者”身份登录:
漏洞挖掘 | 强制 SSO 会话固定
通过直接访问返回的 URL,攻击者完成登录流程并以“受害者”身份登录。

修复/防御措施

问题修复可以通过以下方式完成:
1.实施CSRF 保护。
2.在 SSO 流程的每个步骤中验证会话标识符以防止固定。
3.在 /idp/approval 端点上应用速率限制,以防止对会话令牌的快速和未经授权的请求。
以上内容由白帽子左一翻译并整理。原文:https://infosecwriteups.com/forced-sso-session-fixation-5d3b457b79cb

声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。

原文始发于微信公众号(白帽子左一):漏洞挖掘 | 强制 SSO 会话固定

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月3日15:37:42
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   漏洞挖掘 | 强制 SSO 会话固定https://cn-sec.com/archives/3228581.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息