前端安全(1)之HTTP劫持

2021-08-17 06:33:04 字數 1115 閱讀 7578

什麼是http劫持呢,大多數情況是運營商http劫持,當我們使用http請求請求乙個**頁面的時候,網路運營商會在正常的資料流中插入精心設計的網路資料報文,讓客戶端(通常是瀏覽器)展示「錯誤」的資料,通常是一些彈窗,宣傳性廣告或者直接顯示某**的內容,大家應該都有遇到過。

一般常見的http劫持就是運營商為了減少廣告**對網頁原始碼的影響,而用於網頁大小相同的iframe,那麼就可以通過這個 iframe 來隔離廣告**對原有頁面的影響。那麼我們要做的就是判斷我們的頁面是否被iframe引用,如果遭到引用就重置url跳到自己正常的頁面。

當我們的頁面遇見這種情況時(iframe巢狀),我們該怎麼辦:

但是在一些情況,由於運營的需要,我們的頁面可能會被推廣,那我們可以對上面方法進行改造,加入白名單。但我們的頁面被白名單巢狀時,我們可以放行,不進行url的重定向。

function selfinspect()

}// 我們的正常頁面

var url = location.href;

// 父級頁面重定向

top.location = url;

} }

selfinspect()

如果在我們頁面被多層巢狀呢,現在中確實存在這種情況。但是通常被運營商巢狀過的頁面都會在url中留下引數,如www.a.com?iframe=1,iframe=1表示頁面已經被劫持過了,就不再巢狀 iframe 了。所以根據這個特性,我們可以改寫我們的 url ,使之看上去已經被劫持了:

var flag = 'iframe';

var parts = url.split('#');

if(location.search) else

try catch(e)

當然,如果這個引數一改,防巢狀的**就失效了。所以我們還需要建立乙個上報系統,當發現頁面被巢狀時,傳送乙個攔截上報,即便重定向失敗,也可以知道頁面嵌入 iframe 中的 url,根據分析這些 url ,不斷增強我們的防護手段,這個後文會提及。

前端網路安全 點選劫持

點選劫持特點 使用者親自操作 使用者不知情 實現原理 利用iframe,在攻擊 讓使用者點選隱藏的iframe目標頁面。防禦策略 1 j ascript禁止內嵌,利用top物件和window物件判斷是否被巢狀,然後頁面進行跳轉。正常頁面top物件和window物件是相等的 被iframe嵌入了頁面,...

web安全之點選劫持

點選劫持 clickjacking 是一種視覺上的欺騙手段。大概有兩種方式,那些不能說的秘密 ps 頁面看起來就這樣,當然真正攻擊的頁面會精緻些,不像這麼簡陋。ps 可以把iframe透明設為0.3看下實際點到的東西。3.這樣貼吧就多了乙個粉絲了。解決辦法 使用乙個http頭 x frame opt...

前端之HTTP簡介

超文字傳輸協議 規定了瀏覽器與服務端之間訊息傳輸的資料格式 1 基於請求響應 多次響應,速度很快 2 基於tcp ip之上的作用於應用層的協議 3 無狀態 服務端無法儲存使用者的狀態,乙個人來無數次,我都不記得你,就當你是第一次 每次都認為你是乙個新來的 所以就有了cookie session來解決...