https://owasp.org/www-community/attacks/Reverse_Tabnabbing
https://book.hacktricks.xyz/pentesting-web/reverse-tab-nabbing
简介
reverse tabnabbing 指的是当a页面链接到b页面,这个b页面可以对a页面进行某种程度的修改(例如将a页面重定向到钓鱼页面)
具体实现是当使用 <a href="" target="_blank">
或 javascript 函数 window.open()
打开一个新标签页时,在新标签页中 javascript 可以通过 window.opener
访问到原标签页,通过 window.opener.location=""
来将原页面重定向到钓鱼页面。
使用场景
当页面存在 xss 时,直接可以重定向到钓鱼页面以进行社工攻击。
但当页面不存在 xss 时,但此时可以控制某个用户要点击的 <a>
标签的 href,则可以尝试通过 reverse tabnabbing 来将原页面重定向到钓鱼页面。
防御
a 标签添加 rel="noopener"
属性
调用 window.open()
函数,添加 noopener 参数
这样新打开的标签页就无法通过 window.opener
来访问到原标签页。