The target="_blank" 漏洞, V2EX 网站也中招了

2016-09-09 15:06:33 +08:00
 cnxobo

作者:洋葱猴 链接: https://zhuanlan.zhihu.com/p/22231471 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

国外网友近日曝出大部分网站都忽视了的安全漏洞,包括 Facebook , Twitter 等网站都被检测出带有 The target="_blank" 漏洞,据查该漏洞很早就被提交出来但一直被“忽视”,这可能是有史以来最被低估的漏洞。

你可以点击 这个 Demo http://tvvocold.coding.me/target_blank_vulnerability/ 测试该安全问题:带有 target="_blank" 跳转的网页拥有了浏览器 window.opener 对象赋予的对原网页的跳转权限,这可能会被恶意网站利用,例如一个恶意网站在某 UGC 网站 Po 了其恶意网址,该 UGC 网站用户在新窗口打开页面时,恶意网站利用该漏洞将原 UGC 网站跳转到伪造的钓鱼页面,用户返回到原窗口时可能会忽视浏览器 URL 已发生了变化,伪造页面即可进一步进行钓鱼或其他恶意行为...

代码如下:

<script language="javascript">
window.opener.location = 'https://example.com'
</script> 

修复方法:

为 target="_blank" 加上 rel="noopener noreferrer" 属性。

预计该“安全缺陷”影响了 99% 的互联网网站和大部分浏览器, Instagram 已修复这个问题,有趣的是谷歌 拒绝接受 这个问题,谷歌认为“这属于浏览器缺陷,不能由单一的网站进行有意义的缓解”。

6242 次点击
所在节点    分享发现
34 条回复
initialdp
2016-09-09 17:54:18 +08:00
@kera0a 我没表达清楚,我的意思是:要利用这个漏洞,黑客要么( 1 )污染或者拦截 HTTP 内容 ( 2 )或者直接黑掉网站来修改内容。

如果是( 2 )黑掉网站,那这个漏洞其实有没有都已经无所谓了。

如果是( 1 )污染网页内容,我想 HTTPs 足以防止这种情况。

对于其他情况,例如在 V2EX 的答复中贴伪造的链接,有没有这个漏洞都应该警惕指向外部的链接。

所以总体上,我觉得这个漏洞是浮云。
jasontse
2016-09-09 18:00:18 +08:00
讲道理这个问题应该浏览器背,不应该允许跨域操作。
jasontse
2016-09-09 18:04:34 +08:00
@initialdp
不要 123 的,如果 9L 的链接神不知鬼不觉把源页面带到一个非常像 V2EX 的钓鱼网站会怎么样。
w88975
2016-09-09 18:04:58 +08:00
@est cmd+点击也要中招
anyclue
2016-09-09 18:05:32 +08:00
target="_blank"本来也不符合标准,应该用 rel="external"
http://www.w3cn.org/article/tips/2005/107.html
kera0a
2016-09-09 18:07:24 +08:00
@initialdp
例如发个微博,然后用什么东西诱惑你点击, 点微博 tab 标签 回来后发现微博没登陆(已经跳转到钓鱼网站)
然后因为是自己输入的微博地址,所以警惕性很低 ,然后就登陆了,然后密码泄露。
Quaintjade
2016-09-09 18:26:01 +08:00
@initialdp 原文提到了, UGC 网站的用户正常发内容就可以利用这个漏洞,并不需要一般意义上的劫持或黑掉网站。
harker
2016-09-09 18:43:23 +08:00
我之前看有人做百度优化的搞这个,覆盖来源的搜索页面,是有点不道德
mingyun
2016-09-09 22:15:19 +08:00
@kera0a 这也可以
kn007
2016-09-09 22:26:41 +08:00
这应该说是浏览器的问题。话说如果没有_blank 就无事的话,其实很多人都无事。
qgy18
2016-09-10 00:46:12 +08:00
ranran
2016-09-10 00:53:56 +08:00
V2 已经有过油猴脚本解决了。

《防止垃圾站将父窗口跳转脚本》防止打开网站后,父窗口被跳转到其他页面!
https://www.v2ex.com/t/278112#reply2
sudo123
2016-09-10 01:17:44 +08:00
666 ,浏览器禁用 js 就行了
maskerTUI
2016-09-10 01:30:04 +08:00
我也觉得不算是漏洞

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/305089

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX