作者:洋葱猴 链接: 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 已修复这个问题,有趣的是谷歌 拒绝接受 这个问题,谷歌认为“这属于浏览器缺陷,不能由单一的网站进行有意义的缓解”。
3
shiny 2016-09-09 15:14:40 +08:00
几年前有人用这个原理劫持百度,做一个假百度,然后诱导用户设为主页。后来修复了这个问题。
Google 的搜索页还是常常出现这个问题。 |
4
subpo 2016-09-09 15:17:33 +08:00
还近日呢,我上次听说的时候估计还没艳照门呢
|
8
morethansean 2016-09-09 15:21:34 +08:00
又来了……谷歌不是一直有这个问题么……
|
9
zi 2016-09-09 16:40:43 +08:00 1
|
10
chimingphang 2016-09-09 16:41:44 +08:00
6666
|
11
FrankFang128 2016-09-09 16:50:01 +08:00
看来有些人不知道「修复」和「避免」的区别
|
12
Lentin 2016-09-09 16:52:39 +08:00
所以谷歌到现在也没给 chrome 打上补丁( x
|
13
tabris17 2016-09-09 16:55:59 +08:00 1
这也能算漏洞???
|
14
ragnaroks 2016-09-09 16:58:12 +08:00
百度就有,经常接到报告"百度中毒了,自动跳到博彩"
|
15
est 2016-09-09 17:03:48 +08:00
从来都是 cmd + 点击。从来没中过这招。。。。
就大陆用户特别喜欢网站自己提供 target="_blank" |
16
est 2016-09-09 17:04:21 +08:00 1
告诉你们 iframe 也有这个「漏洞」 你们是不是要吓尿了。
|
17
initialdp 2016-09-09 17:04:48 +08:00
我觉得只要网站启动了 HTTPs ,这个所谓漏洞就应该只是浮云吧。
|
19
cai314494687 2016-09-09 17:24:11 +08:00
|
20
YvesX 2016-09-09 17:53:06 +08:00
Google 表示锅在浏览器,并且没有给 Chrome 解决这个问题……
|
21
initialdp 2016-09-09 17:54:18 +08:00
@kera0a 我没表达清楚,我的意思是:要利用这个漏洞,黑客要么( 1 )污染或者拦截 HTTP 内容 ( 2 )或者直接黑掉网站来修改内容。
如果是( 2 )黑掉网站,那这个漏洞其实有没有都已经无所谓了。 如果是( 1 )污染网页内容,我想 HTTPs 足以防止这种情况。 对于其他情况,例如在 V2EX 的答复中贴伪造的链接,有没有这个漏洞都应该警惕指向外部的链接。 所以总体上,我觉得这个漏洞是浮云。 |
22
jasontse 2016-09-09 18:00:18 +08:00 via iPad
讲道理这个问题应该浏览器背,不应该允许跨域操作。
|
23
jasontse 2016-09-09 18:04:34 +08:00 via iPad 1
@initialdp
不要 123 的,如果 9L 的链接神不知鬼不觉把源页面带到一个非常像 V2EX 的钓鱼网站会怎么样。 |
25
anyclue 2016-09-09 18:05:32 +08:00
target="_blank"本来也不符合标准,应该用 rel="external"
http://www.w3cn.org/article/tips/2005/107.html |
26
kera0a 2016-09-09 18:07:24 +08:00
@initialdp
例如发个微博,然后用什么东西诱惑你点击, 点微博 tab 标签 回来后发现微博没登陆(已经跳转到钓鱼网站) 然后因为是自己输入的微博地址,所以警惕性很低 ,然后就登陆了,然后密码泄露。 |
27
Quaintjade 2016-09-09 18:26:01 +08:00 via Android
@initialdp 原文提到了, UGC 网站的用户正常发内容就可以利用这个漏洞,并不需要一般意义上的劫持或黑掉网站。
|
28
harker 2016-09-09 18:43:23 +08:00
我之前看有人做百度优化的搞这个,覆盖来源的搜索页面,是有点不道德
|
30
kn007 2016-09-09 22:26:41 +08:00
这应该说是浏览器的问题。话说如果没有_blank 就无事的话,其实很多人都无事。
|
31
qgy18 2016-09-10 00:46:12 +08:00 via iPhone
|
32
ranran 2016-09-10 00:53:56 +08:00
|
33
sudo123 2016-09-10 01:17:44 +08:00
666 ,浏览器禁用 js 就行了
|
34
maskerTUI 2016-09-10 01:30:04 +08:00
我也觉得不算是漏洞
|