首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >强制OAuth配置文件链接漏洞分析与利用

强制OAuth配置文件链接漏洞分析与利用

原创
作者头像
qife122
发布2025-10-27 11:20:01
发布2025-10-27 11:20:01
680
举报

强制OAuth配置文件链接

Abdiwahab Ahmed

4分钟阅读 · 2021年10月28日

这篇文章延续了之前关于OAuth隐式流认证绕过的讨论:https://medium.com/@0x1h3r/authentication-bypass-via-oauth-implicit-flow-3805b409bfa1

今天我们将解决PortSwigger的第二个实验室:

有缺陷的CSRF保护

尽管OAuth连接有许多可选参数来自定义其使用,但通常建议除非有强制原因,否则不要使用它们。

示例:状态参数是其中之一。状态参数应该是一个无法完全预测的值,例如与用户会话初始启动OAuth流时相关的哈希值。这些值随后在应用程序客户端和OAuth服务之间来回传递,作为一种CSRF令牌的服务形式。

因此,如果您注意到授权请求没有发送状态参数,从攻击者的角度来看,这一点非常有趣。这可能意味着他们可以在不欺骗用户浏览器完成类似传统CSRF攻击的情况下启动OAuth流程。这可能会根据客户端应用程序如何使用OAuth而产生严重后果。

考虑到允许用户通过OAuth登录或链接其社交媒体资料账户的网站。如果应用程序未能使用状态参数,攻击者就更容易劫持客户端应用程序,使用他们控制的社交媒体账户劫持受害者的账户。

攻击策略:

  1. 使用提供的凭据登录应用程序
  2. 将您的社交媒体资料附加到现有账户
  3. 然后使用提供的用户名和密码登录
  4. 注意您的代理历史记录将拦截您的活动
  5. 在代理历史记录中查看 GET /auth?client_id...
  6. 启用Burp Suite代理后,返回网页并点击“附加社交资料”
  7. 转发第一个请求,然后在第二个请求中您将看到 GET /oauth-linking?code=... 右键复制URL
  8. 转到漏洞利用服务器
  9. 在下面的评论部分,您将写入: <iframe src="您复制的URL"></iframe>
  10. 然后点击存储
  11. 接着点击交付漏洞利用并注销您的账户
  12. 下一步无需任何登录
  13. 尝试进行社交媒体附件,它将在不要求任何用户名或密码的情况下授予管理员权限
  14. 然后您需要删除用户carlos以解决实验室问题

我们就是这样解决这个实验室的。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 强制OAuth配置文件链接
    • 有缺陷的CSRF保护
    • 攻击策略:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档