各位同学,晚上好!我是你们的老朋友,今天咱们聊聊一个Web安全的“小玩意儿”——Tabnabbing,以及如何用 rel=’noopener’ 和 rel=’noreferrer’ 这两个好兄弟来保护我们的网站。 Tabnabbing:潜伏的“钓鱼”攻击 Tabnabbing,也叫 Reverse Tabnabbing,简单来说,就是利用 window.opener 这个属性,把用户已经打开的、信任的页面偷偷替换成一个钓鱼页面。想象一下,用户在一个看起来安全的网站上点击了一个链接,打开了一个新标签页。当用户回到之前的标签页时,却发现页面被替换成了假冒的登录页面,要求重新输入密码。用户一看,“哎?难道我刚才的操作session过期了?”然后乖乖地输入了密码… 悲剧就发生了。 为什么会发生这种事?window.opener 在搞鬼! 当你使用 <a href=”…” target=”_blank”> 打开一个新标签页时,新标签页的 window 对象会有一个 opener 属性,指向打开它的那个标签页的 window 对象。这意味着,新标签页可以通过 window.open …
继续阅读“Tabnabbing 攻击 (利用 window.opener.location = …):如何通过 rel=’noopener’ 或 rel=’noreferrer’ 防御?”