新聞中心
現(xiàn)在,許多主流的互聯(lián)網(wǎng)服務提供商都會在網(wǎng)頁的鏈接地址中加入target=”_blank”屬性,而這絕對是一種非常不安全的行為。不僅如此,target=”_blank”屬性還將會使廣大互聯(lián)網(wǎng)用戶暴露在釣魚攻擊的風險之下。

我們一直強調(diào)網(wǎng)站設計、網(wǎng)站制作對于企業(yè)的重要性,如果您也覺得重要,那么就需要我們慎重對待,選擇一個安全靠譜的網(wǎng)站建設公司,企業(yè)網(wǎng)站我們建議是要么不做,要么就做好,讓網(wǎng)站能真正成為企業(yè)發(fā)展過程中的有力推手。專業(yè)網(wǎng)絡公司不一定是大公司,創(chuàng)新互聯(lián)建站作為專業(yè)的網(wǎng)絡公司選擇我們就是放心。
早在2014年,就已經(jīng)有很多安全研究專家表示,target=”_blank”屬性是非常不安全的一個屬性。而且當初有些關于該屬性的安全報告為了引起人們的注意,還特地將標題設置得非常醒目。我印象中最深的就是那篇標題為《Target=”_blank”–有史以來最被人們低估的漏洞》的報告,感興趣的同學可以看一下這份報告[傳送門]。
漏洞實現(xiàn)機制
當用戶點擊了某個網(wǎng)站中帶有target=”_blank”屬性的超鏈接后,瀏覽器會單獨新建一個標簽頁來顯示該鏈接所指向的內(nèi)容。但是請注意,在這一瞬間,瀏覽器會允許新建的標簽頁通過一個名為“window.opener”的瀏覽器API來與之前的網(wǎng)頁進行短暫通信。
此時,攻擊者就可以將惡意代碼嵌入在新打開的網(wǎng)站中,然后檢測用戶是從哪一個網(wǎng)站跳轉過來的,最后再利用window.opener接口來迫使原始網(wǎng)頁打開一個新的URL地址。
比如說,如果用戶點擊了Facebook網(wǎng)站中一個帶有target=”_blank”屬性的鏈接,那么攻擊者就可以利用一個偽造的Facebook頁面來替換原始的Facebook網(wǎng)頁,然后要求用戶重新輸入用戶名和密碼。這樣一來,攻擊者便成功獲取到了目標用戶的憑證數(shù)據(jù)。
影響范圍
可怕的是,Instagram、Facebook、以及Twitter等大型社交網(wǎng)站都會受到這種攻擊的影響。
在上述這三大社交網(wǎng)站中,只有Instagram徹底修復了這個問題。而對于Twitter而言,只有當用戶使用Safari瀏覽器來訪問Twitter網(wǎng)站時才有可能出現(xiàn)這種問題。但是谷歌卻早已公開表示,他們并不關心這個問題…
如何修復這個問題呢?
這也就意味著,修復該問題的重擔將落在網(wǎng)站管理員的身上了。實際上,修復該問題最簡單的方法就是在網(wǎng)站所有的鏈接中加入rel=”noopener”屬性。對于火狐瀏覽器而言,由于它并不完全支持該屬性,所以開發(fā)人員應該使用rel=”noopenernoreferrer”屬性作為代替。
請記住,當你每次使用window.open()接口來打開一個新的網(wǎng)頁窗口時,你的安全性很有可能會受到這一API的影響,所以別忘了重置“opener”屬性。
var newWnd = window.open();newWnd.opener = null;
我個人認為Twitter解決這一問題的方法應該是最有效的。Twitter的開發(fā)人員使用了一個腳本來自動向網(wǎng)站中的鏈接添加該屬性。而安全研究人員也表示,攻擊者之所以仍然能夠通過Safari瀏覽器來利用Twitter的這一漏洞,很有可能是因為他們所用的腳本中存在問題。
分享文章:鏈接地址中的target=”_blank”屬性,為釣魚攻擊打開了大門
當前鏈接:http://www.5511xx.com/article/dhgjdec.html


咨詢
建站咨詢
