最近和同事讨论登录安全时,我们聊到了一个真实遇到,藏得很深的安全问题。 它发生在用户登录后,在“绑定三方账号”功能时,被伪造攻击。 惯例,下边是我们按照自己的真实经验,让 AI 代笔。
在现代 Web 应用中,提供微信、QQ、GitHub 等第三方账号绑定功能已经非常常见。用户在登录网站后,可以选择绑定自己的第三方账号,实现快捷登录或账号互通。
然而,如果绑定接口设计不安全,攻击者可能通过脚本注入或诱导点击的方式,将你的网站账号绑定到他们自己的第三方账号上,从而实现账号劫持。
以“绑定微信账号”为例,一个典型流程如下:
如果攻击者在你登录网站后,通过 XSS 或其他方式在页面中注入恶意脚本,就可能诱导你点击一个伪造的“绑定按钮”,而绑定的是攻击者自己的微信账号 key。