談 target="_blank" 的安全問題

target="_blank" 的安全問題

當咱們在網站中引入外部連接的時候每每使用的是php

<a href="" target="_blank"></a>
複製代碼

你們都喜歡target="_blank", 由於新頁面打開不影響原來的頁面 可是這個存在安全問題, 由target="_blank"打開的頁面, 能夠經過window.opener訪問原來的窗口 例如:數據庫

window.opener.location = "http://..."
複製代碼

遍能夠簡單的將網頁導航到其餘網站, 這就存在不少的安全隱患了, 好比釣魚 這種問題解決起來也很簡單, 在連接中加入rel="noreferrer noopener"屬性就能夠了api

<a href="" target="_blank" rel="noreferrer noopener"></a>
複製代碼

CSDN 中的 target="_blank"

我查看了幾個能夠發佈文章的平臺, 例如掘金、思否、知乎 還有CSDN, 果不其然CSDN是惟一有這個問題的 CSDN老是慢一拍, 一個技術網站卻老是顯得那麼不專業, 就像當初的數據庫明文存儲密碼安全

CSDN 漏洞的利用

釣魚

這是最早想到的, 若是有人仿作一個登陸頁面, 而後發佈一片文章, 插入一條帶有漏洞的連接, 當讀者查看完, 返回時, 看到一個登陸頁面 讀者可能會奇怪, 可是我相信仍是會有不少人會中這個陷阱 輸入密碼後, 登陸的釣魚網站只需返回原來的頁面便可, 由於Cookie的存在就好像真的登陸了同樣, 此時密碼已經不知不覺泄露了oop

騷操做 自動關注

這裏不得再也不吐槽一下CSDN, 關注用戶的api不只簡單, 並且是get post請求都可的, 這就給了咱們很大的操做空間了 咱們只需利用window.opener.location導航到關注api, 再返回回去便可, 讀者在不知不覺中就進行了關注 一小段代碼的例子post

window.opener.location = "https://my.csdn.net/index.php/follow/do_follow?..."
setTimeout(()=>{
    window.opener.location = "https://blog.csdn.net/Dogfights/article/details/..."
},1000)
複製代碼

歡迎關注個人博客公衆號 網站

2018_11_16_0048241709.png
相關文章
相關標籤/搜索