利用方法混淆绕过CSRF防护,导致账户完全被劫持
Unknown
Unknown
漏洞集萃
2026年8月15日 18:23
山东
在小说阅读器读本章
去阅读
本公众号所发布的文章内容仅供学习与交流使用,禁止用于任何非法用途;如有侵权烦请告知,我们会立即删除并致歉,谢谢
在测试一个私有漏洞赏金计划时,我遇到了一个
作者: Unknown
原文链接: https://medium.com/@0.unknown.k.0/csrf-protection-bypass-via-method-confusion-leading-to-full-account-takeover-0923bcf4f637
tvs.redacted.com* 上的电视登录同步功能允许攻击者完全接管任何 redacted 用户账户。 通过将 *POST 请求转换为 GET 请求,并在精心构造的链接中嵌入攻击者自己的电视代码,攻击者只需诱骗受害者点击一个 URL,即可在 redacted 主域名上悄无声息地冒充受害者进行身份验证。
当用户访问 tvs.redacted.com 时,页面会显示一个唯一的电视代码和二维码*。扫描二维码会触发一个认证流程,该流程会调用一个 POST 端点,将电视会话与用户的 redacted*** 账户进行同步。
开发者依赖浏览器的 SameSite=Lax Cookie 策略作为 CSRF 防护措施——因为 Lax 会阻止在跨源 AJAX/fetch请求中发送 Cookie。然而,在顶级 GET 导航中,Lax Cookie 仍会被发送,当该端点接受 GET 请求时,这将完全绕过该防护机制。
该身份验证端点同时接受 POST 和 GET 方法。服务器从未验证请求方法是否严格为 POST。由于 SameSite=Lax Cookie 会随顶级 GET 导航一起发送,攻击者可以构造一个包含其自身电视代码的 GET 链接,并通过单次点击实现完全的账户接管。
重现步骤:
1- 攻击者打开 tvs.redacted.com,并记录屏幕上显示的 TV 代码(例如 Random-Code)以及会话 GUID。
2- 攻击者使用自己的 TV 代码和 GUID 构建指向同步端点的 GET URL。
3- 攻击者将构造好的链接发送给受害者(通过私信、电子邮件、钓鱼页面等)。
4- 受害者点击该链接。浏览器将执行顶级 GET 导航,并自动附加受害者的 SameSite=Lax会话 Cookie。
5- 服务器处理该请求,将受害者的已认证会话与攻击者的 TV 代码进行同步。
6- 攻击者现已登录 tvs.redacted.com* 上受害者的完整账户(已做模糊处理)—— 该账户使用与 redacted.*com 主域名相同的 Cookie。
漏洞利用 URL(PoC):
影响:
完全接管账户、访问仪表盘、获取个人身份信息(PII)/账户信息
由于 tvs.redacted.com* 与根域名 redacted.com* 共享相同的会话 Cookie,一旦攻击成功,攻击者将获得对受害者 redacted 账户的完全访问权限——包括个人信息以及所有仪表盘功能。
建议修复方案:
- 在同步端点上强制执行严格的 HTTP 方法验证——拒绝任何非 POST 请求(返回 405 方法不允许)。
- 在 POST 请求体中实施与用户会话绑定且在服务器端验证的显式 CSRF 令牌。
- 在适用情况下,考虑将 Cookie 策略升级为 SameSite=Strict,或在子域名之间对 Cookie 范围进行更严格的限制。
- 在处理同步操作前,验证 TV 代码是否已被其他用户申领,并确认其属于当前请求会话。
觉得本文内容对您有启发或帮助?
点个关注➕,获取更多深度分析与前沿资讯!
👉 往期精选
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论