Web 前端頁面劫持和反劫持

2021-09-11 09:44:54 字數 1600 閱讀 4610

按照劫持的方法不同,我將劫持分為下面兩類:

為了區分哪些是第三方給予導流過來的,通常會在url位址增加類似source、from之類的引數,或者進入頁面之前通過「中間頁」種cookie。

這樣,當使用者輸入乙個正常**的時候,劫持方會在網路層讓其跳轉到帶分成或者渠道號的「中間頁」或者帶渠道號的頁面。這樣使用者進行下單或者搜尋等行為,劫持方會得到「佣金」。

頁面在傳輸的過程中,被網路層進行內容「再加工」,常見有:注入js、iframe、篡改頁面。

注入js

注入js的方式可以通過document.write或者直接改html**片段等方式,給頁面增加外鏈js,為了做到更難檢測,有些運營商會捏造乙個不存在的url位址,從而不被過濾或者檢測。

被放入iframe或者iframe其他頁面

篡改頁面內容

這類case很少見,一般是在頁面底部增加js之外的div,然後展現一些非**內容。

講了常見的劫持手段有哪些,我們再來看看怎麼識別上面提到的這些劫持。

劫持統計

zj*******.10086.cn這個網域名稱,就是移動的流量提示(還專門啟用個網域名稱zj*******,浙江*******)。。。改寫document.write方法

遍歷頁面script標籤,給外鏈js增加白名單,不在白名單內js外鏈都上報

function

getparenturl() catch (e)

}return url;

}複製**

script核心心**如下:

function

hijacksniffer()

if (arr.length)

arr = getparenturl();

if (arr && arr.length)

if (d.documentelement.outerhtml.length > 4e3) ;

var headjs = $.toarray(d.head.queryselectorall('script'));

var unknowncode = ;

if (headjs.length) ).filter(function(v) ));

}var body = $.toarray(d.body.queryselectorall('*'));

if (body.length > 1) ).filter(function(str)

return

true;

}));

}return sendimg(unknowncode, 3);

}sendimg(, 0);

}複製**

這樣做除了可以檢測到多餘的js外鏈,還可以檢測出來篡改頁面內容等case。除了檢測網域名稱劫持之外,在使用者輸入query的時刻訪問空白的頁面也可以提前完成dns解析,另外還可以做劫持防禦,所謂「一石三鳥」!

最簡單粗暴的就是直接上https,一勞永逸。再就是取證,去打官司或者警告渠道作弊者。除此之外,我們還可以繼續利用空白頁面做劫持檢測。

關注三水清

Web 前端頁面劫持和反劫持

按照劫持的方法不同,我將劫持分為下面兩類 注入型劫持 有別於跳轉型型劫持,指通過在正常的網頁中注入廣告 js iframe等 實現頁面彈窗提醒或者底部廣告等,又分為下面三個小類 為了區分哪些是第三方給予導流過來的,通常會在url位址增加類似source from之類的引數,或者進入頁面之前通過 中間...

移動開發構架漫談 反劫持實戰篇

汽車之家是全球訪問量最大的汽車 為廣大汽車消費者提供買車 用車 養車及與汽車生活相關的全程服務,以全面 專業 可信賴 高互動性的內容,多層次 多維度地影響最廣泛的汽車消費者,是中國最具價值的網際網路汽車營銷平台。http 劫持是在使用者與其目的網路服務所建立的專用資料通道中,監視特定資料資訊,提示當...

web安全之點選劫持

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