安基網 首頁 安全 Web安全 查看內容

HTML a標簽打開新標簽頁避免出現安全漏洞,請使用“noopener”

2020-5-20 12:45| 投稿: xiaotiger |來自: 互聯網


免責聲明:本站系公益性非盈利IT技術普及網,本文由投稿者轉載自互聯網的公開文章,文末均已注明出處,其內容和圖片版權歸原網站或作者所有,文中所述不代表本站觀點,若有無意侵權或轉載不當之處請從網站右下角聯系我們處理,謝謝合作!

摘要: 新標簽頁中打開一個網址如何出現安全漏洞讓我們在網站上的新標簽頁中打開一個網址,HTML如下a href="https://malicious-domain.netlify.com" target="_blank" 訪問惡意網站!/a這里我們有一個指向惡意網站的 href 屬性,并以 _blank 屬性為 target,使其在新標簽頁中打開。用 ...

新標簽頁中打開一個網址如何出現安全漏洞

讓我們在網站上的新標簽頁中打開一個網址,HTML如下


訪問惡意網站!

這里我們有一個指向惡意網站的 href 屬性,并以 _blank 屬性為 target,使其在新標簽頁中打開。

用戶從你的頁面重定向到域,此時,瀏覽器會將你當前網站的所有 window 變量內容附加到惡意網站的 window.opener 變量。現在惡意網站可以訪問你網站的 window,這顯然在重定向此方法時打開了一個安全漏洞

惡意網站一旦通過 window.opener 訪問了你的網站的 window 變量,它可以將你之前的網站重定向到一個新的釣魚網站,這個網站可能與你打開的實際網站相似,甚至可能會要求你再次登錄。

在惡意網站中,只需編寫以下代碼即可完成上述修改

if (window.opener) {
window.opener.location = 'https://www.dhilipkmr.dev';
}

因此,無辜用戶將陷入此陷阱,并提供可能暴露給攻擊者的登錄詳細信息。

我們如何避免這種情況?

一種簡單的方法是將帶有 noopenerrel 屬性添加到 標記。

  訪問惡意網站!

它有什么作用?

rel = "noopener" 表示瀏覽器不要將當前網站的 window 變量附加到新打開的惡意網站。

這使得惡意網站的 window.opener 的值為 null

因此,在將用戶導航到你未維護的新域時,請當心。

并非總是我們用標簽打開一個新標簽,在某些情況下,你必須通過執行javascript的 window.open() 來打開它,如下所示:

function openInNewTab() {
// 一些代碼
window.open('https://malicious-domain.netlify.com');
}
訪問惡意網站!

這里沒有提及 noopener,因此這導致當前網站的 window 傳遞到惡意網站。

通過js打開新標簽頁時,該如何處理?

function openInNewTabWithoutOpener() {
var newTab = window.open();
newTab.opener = null;
newTab.location='https://malicious-domain.netlify.com';
}
訪問惡意網站!

我們已經通過 window.open() 打開了一個虛擬標簽,該標簽打開了 about:blank,因此這意味著它尚未重定向到惡意網站。

然后,我們將新標簽的 opener 值修改為 null

這次,opener 再次為空,因此它無法訪問第一個網站的 window 變量。

問題解決了。

但是在舊版本的Safari中將無法使用此方法,因此我們再次遇到問題。

如何解決Safari的問題?

function openInNewTabWithNoopener() {
const aTag = document.createElement('a');
aTag.rel = 'noopener';
aTag.target = "_blank";
aTag.;
aTag.click();
}
訪問惡意網站!

在這里,我們模擬點擊錨標記。

其他事實:

沒有人可以繞過你的"保安"。

如果對你有所啟發和幫助,可以點個關注、收藏、轉發,也可以留言討論,這是對作者的最大鼓勵。

私信回復大禮包送某網精品視頻課程網盤資料,準能為你節省不少錢!

#web安全#



小編推薦:欲學習電腦技術、系統維護、網絡管理、編程開發和安全攻防等高端IT技術,請 點擊這里 注冊賬號,公開課頻道價值萬元IT培訓教程免費學,讓您少走彎路、事半功倍,好工作升職加薪!

本文出自:https://www.toutiao.com/a6828203025727750668/

免責聲明:本站系公益性非盈利IT技術普及網,本文由投稿者轉載自互聯網的公開文章,文末均已注明出處,其內容和圖片版權歸原網站或作者所有,文中所述不代表本站觀點,若有無意侵權或轉載不當之處請從網站右下角聯系我們處理,謝謝合作!


鮮花

握手

雷人

路過

雞蛋

相關閱讀

最新評論

 最新
返回頂部
创业如何赚钱 扑克彩票 排列3排列5开奖结果 唐人博彩论坛 幸运农场怎么玩 广西11选五开奖结果一定牛 浙江体彩6+1开奖号码开奖结果 怎样买快乐8才能赢 广西11选5预测 破解 一肖一马彩资料 炒股的人一生穷图片 股票股市新手入门 北京快3一定牛开奖直播 机构推荐股票 东莞配资 北京快三最全的走势图 上海时时乐开奖时时更新