自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

誰(shuí)動(dòng)了我的寬帶?記一次HTTP劫持的發(fā)現(xiàn)和解決過(guò)程

網(wǎng)絡(luò) 新聞
日常遇到的劫持一般為DNS劫持,可在路由器里強(qiáng)制指定公共DNS解決。本文記錄了自己家用寬帶HTTP劫持的發(fā)現(xiàn)過(guò)程。相比DNS劫持,HTTP劫持則更為流氓,解決起來(lái)也比較棘手。

日常遇到的劫持一般為DNS劫持,可在路由器里強(qiáng)制指定公共DNS解決。本文記錄了自己家用寬帶HTTP劫持的發(fā)現(xiàn)過(guò)程。相比DNS劫持,HTTP劫持則更為流氓,解決起來(lái)也比較棘手。

近來(lái)在家上網(wǎng)時(shí),iPhone Safari網(wǎng)頁(yè)里經(jīng)常彈出“在手機(jī)淘寶中打開(kāi)連接嗎?”的提示框,如下圖:

作為一名iOS碼農(nóng),很自然的知道這是網(wǎng)頁(yè)在調(diào)用淘寶app的 URL Scheme tbopen:// ,這是干什么的呢?當(dāng)然是淘寶客的推廣鏈接,點(diǎn)了之后打開(kāi)淘寶去領(lǐng)券,如果你按提示下單了,推廣者就能拿到返利。問(wèn)題在于,網(wǎng)頁(yè)為什么會(huì)發(fā)出這種請(qǐng)求,結(jié)合當(dāng)前網(wǎng)站是http的,隱隱覺(jué)得可能是被劫持了。下面記錄一下排查過(guò)程。

誰(shuí)在劫持

先說(shuō)一下環(huán)境,家里寬帶是聯(lián)通百兆,路由器華碩AC86U,刷的梅林(僅開(kāi)啟虛擬內(nèi)存插件),路由器直接撥號(hào),且當(dāng)時(shí)安裝條件限制,家里沒(méi)有光貓,接線員直接接到了一樓的交換機(jī)上。

1. 是網(wǎng)站自己掛的廣告嗎?

在Wi-Fi下,每次用Safari隱身模式反復(fù)訪問(wèn)截圖里這個(gè)網(wǎng)站,仍會(huì)出現(xiàn)這個(gè)提示,概率大概30%-40%。切換手機(jī)聯(lián)通4G網(wǎng)絡(luò),移動(dòng)4G,則一次都不會(huì)出現(xiàn)。換用電腦Safari和Chrome,也一次不會(huì)出現(xiàn)。

結(jié)論:僅在iPhone手機(jī)端Wi-Fi環(huán)境才會(huì)出現(xiàn)

2. 是路由器刷的梅林固件導(dǎo)致的嗎?

翻箱倒柜找出了以前買(mǎi)的 TPLink-WR700n,就是下圖這個(gè)小路由器(簡(jiǎn)直是神器,小巧玲瓏,AP和Router模式任意切換),設(shè)置好撥號(hào)賬號(hào)密碼后換掉華碩繼續(xù)測(cè)試,震驚了,劫持彈窗仍然存在。

[[324678]]

結(jié)論:梅林沒(méi)問(wèn)題,只能是運(yùn)營(yíng)商的鍋了。

怎樣劫持

由于梅林里已經(jīng)設(shè)置DNS為114,排除了DNS劫持。確定是運(yùn)營(yíng)商的接入點(diǎn)的問(wèn)題,接下來(lái)就是看看它究竟是怎么劫持的。這里使用Charles抓包iPhone(還沒(méi)必要祭出Wireshark大殺器)具體設(shè)置不在這里講了,在百度里隨機(jī)訪問(wèn)網(wǎng)頁(yè),待出現(xiàn)劫持時(shí),停止記錄,開(kāi)始分析記錄日志。從后往前,找出返回?cái)?shù)據(jù)里包含 tbopen 的請(qǐng)求。不出意外,很容易就發(fā)現(xiàn)了:

原請(qǐng)求為 http://static.geetest.com/static/js/fullpage.8.9.3.js ,經(jīng)過(guò)確認(rèn), https://www.geetest.com/ 極驗(yàn),是業(yè)界提供安全與風(fēng)控解決方案的平臺(tái),不可能返回 tbopen 這樣的數(shù)據(jù)的。在Charles里復(fù)制此http請(qǐng)求的curl命令出來(lái),使用阿里云VPS里進(jìn)行訪問(wèn),獲取到的則為真實(shí)的JS內(nèi)容。

  1. curl -H 'Host: static.geetest.com' -H 'Accept: */*' -H 'User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 12_1_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1' -H 'Accept-Language: zh-cn' -H 'Referer:<a href="http://pass.52pk.com/">http://pass.52pk.com/</a>' --compressed '<a href="http://static.geetest.com/static/js/fullpage.8.9.3.js">http://static.geetest.com/static/js/fullpage.8.9.3.js</a>' 

使用自己的Mac重放這個(gè)curl命令,還是有很高幾率被劫持。進(jìn)一步,修改此請(qǐng)求的User-Agent字段,去掉手機(jī)標(biāo)識(shí)符,僅保留為Safari,繼續(xù)重放,則不會(huì)出現(xiàn)被劫持。同時(shí),注意到發(fā)生劫持后,有個(gè)新的同樣的js請(qǐng)求發(fā)出,url里多了個(gè)參數(shù)utm_id=1024001,會(huì)返回正確的JS內(nèi)容,這樣做的目的,猜測(cè)可能是為了區(qū)分請(qǐng)求,好讓真正的JS能正常返回不影響網(wǎng)頁(yè)加載,否則可能出現(xiàn)劫持后再被劫持,無(wú)法加載出正確的JS內(nèi)容。

至此,整個(gè)劫持的過(guò)程大致清晰了:聯(lián)通的接入點(diǎn)會(huì)根據(jù)UA過(guò)濾出移動(dòng)設(shè)備中的http JS請(qǐng)求,然后一定幾率返回劫持后的偽JS內(nèi)容,在里面嵌入淘寶客推廣鏈接。

劫持的JS內(nèi)容如下,里面有淘寶客推廣鏈接,建議阿里媽媽的相關(guān)人士解決一下?

代碼比較簡(jiǎn)單,將自己的JS腳本掛載到頁(yè)面DOM上,使用setInterval延遲20ms去調(diào)用tbopen,打開(kāi)淘寶app領(lǐng)券。

想在手機(jī)端暫時(shí)屏蔽的話,可以在surge里加個(gè)Header Rewrite規(guī)則修改UA

  1. [Header Rewrite] 
  2. ^http://* header-replace User-Agent Safari/530 

投訴

用手機(jī)錄屏兩段視頻作為證據(jù),先打聯(lián)通客服投訴電話,客服按套路說(shuō)會(huì)派人來(lái)檢查。一天過(guò)后回電說(shuō)檢修人員說(shuō)是客戶家里問(wèn)題,無(wú)法解決。 ???根本沒(méi)人聯(lián)系我,且上門(mén)檢查。沒(méi)關(guān)系,心平氣和的告訴客服小妹,你們解決不了那俺只能向上投訴了。這里不用跟客服急眼,先向運(yùn)營(yíng)商投訴本來(lái)也不指望他們能馬上解決,該走的流程還是得走一下。找到省通信管理局網(wǎng)站,留言說(shuō)明了情況,第二天臨下班前就有回訪電話,把自己錄的視頻作為證據(jù)都發(fā)過(guò)去,沒(méi)多久運(yùn)營(yíng)商回電說(shuō)安排人帶路由器檢查確定問(wèn)題。檢查的小哥沒(méi)多久也回電了解情況,先問(wèn)是否重設(shè)了DNS為114,(梅林早已設(shè)置過(guò)),無(wú)解后約了個(gè)時(shí)間說(shuō)來(lái)檢查。約定的檢查日期來(lái)了,我不停的重試測(cè)試,還是會(huì)被劫持,早上10:30左右,路由器記錄到網(wǎng)絡(luò)重連,之后再測(cè)試,再也沒(méi)出現(xiàn)過(guò)劫持,然而檢查人員也并未登門(mén)檢查,看來(lái)是悄悄把接入點(diǎn)給改了。至此,一場(chǎng)沒(méi)有結(jié)局的投訴就這樣不明不白的解決了。

反思

整個(gè)過(guò)程中,面對(duì)網(wǎng)絡(luò)運(yùn)營(yíng)商,用戶人微言輕,舉證困難,運(yùn)營(yíng)商可以隨時(shí)修改設(shè)置關(guān)閉劫持。通管局指定運(yùn)營(yíng)商自查,并不是指定第三方來(lái)審查。運(yùn)營(yíng)商“我查我自己”,究竟是內(nèi)部個(gè)別員工作祟還是自身作祟,也不得而知。網(wǎng)絡(luò)安全服務(wù)提供商極驗(yàn),對(duì)自己提供的服務(wù)未采用https協(xié)議傳輸,在這兩年風(fēng)風(fēng)火火的全民https時(shí)代,顯得尤為落后,更何況自身提供的就是反欺詐等服務(wù),到頭來(lái)反而自身服務(wù)被劫持,作為受害者兼背鍋俠,也是冤枉。

最后的最后,站長(zhǎng)們還沒(méi)上https的趕快上吧。

 

責(zé)任編輯:張燕妮 來(lái)源: FreeBuf
相關(guān)推薦

2020-05-09 16:13:13

網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全技術(shù)周刊

2012-12-12 09:56:40

EC2AWSAmazon

2020-01-10 09:06:10

Activity系統(tǒng) 通信

2013-04-01 10:27:37

程序員失業(yè)

2010-08-26 15:34:12

2016-10-19 11:00:26

2021-03-05 22:41:55

CDH集群CDH集群

2021-11-23 21:21:07

線上排查服務(wù)

2021-08-19 09:50:53

Java內(nèi)存泄漏

2021-12-12 18:12:13

Hbase線上問(wèn)題

2023-10-10 12:05:45

2017-12-19 14:00:16

數(shù)據(jù)庫(kù)MySQL死鎖排查

2019-08-26 09:50:09

2017-09-22 10:16:16

MySQL數(shù)據(jù)庫(kù)用戶數(shù)據(jù)

2011-08-08 13:31:44

數(shù)據(jù)分析數(shù)據(jù)倉(cāng)庫(kù)

2021-02-05 11:54:09

Bug漏洞代碼

2020-06-12 13:26:03

線程池故障日志

2014-08-06 11:24:24

Elasticsear劫持掛馬

2023-12-13 10:36:38

Long算法代碼

2022-09-14 15:40:03

接口解決
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)