强制OAuth配置文件链接漏洞分析与利用
强制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登录或链接其社交媒体资料账户的网站。如果应用程序未能使用状态参数,攻击者就更容易劫持客户端应用程序,使用他们控制的社交媒体账户劫持受害者的账户。
攻击策略:
- 使用提供的凭据登录应用程序
- 将您的社交媒体资料附加到现有账户
- 然后使用提供的用户名和密码登录
- 注意您的代理历史记录将拦截您的活动
- 在代理历史记录中查看 GET /auth?client_id[...]
- 启用Burp Suite代理后,返回网页并点击“附加社交资料”
- 转发第一个请求,然后在第二个请求中您将看到 GET /oauth-linking?code=[...] 右键复制URL
- 转到漏洞利用服务器
- 在下面的评论部分,您将写入:
<iframe src="您复制的URL"></iframe> - 然后点击存储
- 接着点击交付漏洞利用并注销您的账户
- 下一步无需任何登录
- 尝试进行社交媒体附件,它将在不要求任何用户名或密码的情况下授予管理员权限
- 然后您需要删除用户carlos以解决实验室问题
我们就是这样解决这个实验室的。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)
公众号二维码

公众号二维码


浙公网安备 33010602011771号