如何通过重定向参数实现账户劫持并获取 2500 美元漏洞赏金
如何在不获取密码的情况下劫持账户并通过重定向参数获得 2500 美元赏金
Assalamualaikum
大家好
在这篇文章中,我想分享一个概念验证(PoC),作为漏洞猎人和安全研究员的你们肯定已经知道这种类型的漏洞了哈哈。
没错,这是一个从开放重定向到 XSS 的漏洞。故事始于我在聊天功能中发现存储型 XSS 漏洞后,出于好奇想寻找其他漏洞的探索。
发现过程
我从尝试创建第二个账户开始,并没有立即使用 Burp Suite,而是注意到网站的跳转过程。结果发现参数没有被读取或捕获到 Burp Suite 中。后来我发现网站使用了客户端重定向方法(JavaScript 重定向)。
客户端重定向,特别是使用 JavaScript 的方法,是一种无需刷新或重新加载页面就能将用户从一个网页重定向到另一个网页的技术。这种重定向发生在用户浏览器内部,而不是在 Web 服务器上。与通过 HTTP 代码(通常表现为 301 或 302 状态码)执行的服务器端重定向不同,客户端重定向完全在用户浏览器中进行。
漏洞利用
我尝试了三次捕获这个请求并成功了:
然后我尝试更改为 evil.com 和 XSS:
我注意到存储在显示 cookie 中的认证信息是通过服务器发送的。接着我尝试将自己的访问令牌更改为受害者的访问令牌。
基于漏洞细节,我成功通过会话劫持实现了账户接管(Account Takeover),因为我只需替换 Bearer accessToken 和有效的 accessToken 就能访问属于其他用户的资源,实际上就是进入了用户的账户。
实用建议
快速拦截网站 URL 上的任何页面重定向,并在报告前始终检查 document.cookie 中的内容。
漏洞影响
账户接管(ATO):无需密码即可登录其他用户账户
个人身份信息(PII)泄露:电话号码、电子邮件、地址、出生日期、位置等
权限滥用
感谢阅读更多精彩内容 请关注我的个人公众号 公众号(办公 AI 智能小助手)公众号二维码

评论