成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談網(wǎng)站流量劫持防范措施

安全 應(yīng)用安全
當(dāng)前最常見(jiàn)的:把被劫持的網(wǎng)頁(yè)套在自己的空殼里。其實(shí)這樣做的目的很明確,讓廣告顯示在瀏覽器的最上方。一般為了達(dá)到這個(gè)效果,會(huì)把廣告顯示在頁(yè)面的右下角,蓋住被劫持頁(yè)面的滾動(dòng)條,看起來(lái)就像是浮動(dòng)在瀏覽器之外一樣!

前幾天上網(wǎng)打開(kāi)163首頁(yè)時(shí),發(fā)現(xiàn)頁(yè)面底部莫名其妙的出現(xiàn)一個(gè)邊框。這在以前可是未曾有過(guò)的,而且以后也絕不可能會(huì)有這么丑陋的設(shè)計(jì)。

趨于好奇心,立刻在邊框上點(diǎn)了右鍵審查元素。不看不知道,網(wǎng)易首頁(yè)的HTML何時(shí)變得這么劣質(zhì)了?

\

沒(méi)有doctype聲明,連title元素都沒(méi)有。script還是language=JScript風(fēng)格,這得追溯到多少個(gè)世紀(jì)前了~ 最劣質(zhì)的是框架居然還是<frameset>元素。

不用說(shuō),這顯然不是網(wǎng)易的頁(yè)面。頁(yè)面里的ad字樣,早已深深的出買(mǎi)了它,這就是個(gè)廣告頁(yè)面!

\

話(huà)說(shuō)生在天朝,對(duì)于各種劫持早已司空見(jiàn)慣。

在網(wǎng)頁(yè)里劫持廣告,油價(jià)2塊錢(qián)一升的時(shí)代就有了,過(guò)了世界末日依舊存在,說(shuō)明其中的利益是巨大的。

不用計(jì)算,用手指估算下就知道了。我朝有好幾億電腦和手機(jī)用戶(hù),每天有無(wú)數(shù)個(gè)網(wǎng)頁(yè)被打開(kāi)。哪怕在1%的網(wǎng)頁(yè)里插一個(gè)廣告,都有數(shù)百上千萬(wàn)次的展示數(shù)量,其中的商機(jī)不言而喻。

盡管對(duì)此有些無(wú)奈,但只要插入的廣告不影響正常上網(wǎng),也沒(méi)什么意見(jiàn)。如果水平夠高,完全可以偽裝成頁(yè)面里本來(lái)的廣告,至少形式上一樣,看不出任何的破綻。這樣非但不BS,反倒會(huì)有些佩服。

然而,至今見(jiàn)過(guò)的各種廣告劫持代碼,簡(jiǎn)直一個(gè)比一個(gè)劣質(zhì)。這一次見(jiàn)到的,算是垃圾中的戰(zhàn)斗機(jī)了。隨便找個(gè)網(wǎng)頁(yè)編輯器,自動(dòng)生成的HTML也比這強(qiáng)多了,再隨便找些css稍微修飾下,完全就不會(huì)被一眼看出是山寨套牌網(wǎng)頁(yè)了。尼瑪?shù)倪@本身就是暗地里的干活,卻沒(méi)有任何簡(jiǎn)單的加密混淆,還光明正大的明文寫(xiě)著廣告字樣,這不是赤果果的秀智商下限嗎?

不過(guò)今天既然花時(shí)間吐槽這破玩意,就干脆再深入的討論討論未來(lái)可能還會(huì)出現(xiàn)的變招。

Lv1. 當(dāng)前最常見(jiàn)的:把被劫持的網(wǎng)頁(yè)套在自己的空殼里。

其實(shí)這樣做的目的很明確,讓廣告顯示在瀏覽器的最上方。一般為了達(dá)到這個(gè)效果,會(huì)把廣告顯示在頁(yè)面的右下角,蓋住被劫持頁(yè)面的滾動(dòng)條,看起來(lái)就像是浮動(dòng)在瀏覽器之外一樣!

這招夠狠,乍一看,還真以為是QQ之類(lèi)的軟件彈出的消息框呢。不過(guò)只要把瀏覽器窗口退出最大化,順便再拖一下窗口,廣告也跟著動(dòng)起來(lái)了:)假李鬼就瞬間原形畢露了!

\

防范措施

這種劫持毫無(wú)技術(shù)含量可言,反劫持也相當(dāng)容易。只要在自己網(wǎng)頁(yè)里驗(yàn)證下window.top,是不是在合法的URL列表里。如果不是,那就不允許被內(nèi)嵌在其他網(wǎng)頁(yè)內(nèi)。更好的辦法就是把top地址提交到后臺(tái)服務(wù)器上,統(tǒng)計(jì)下究竟有哪些網(wǎng)站套了自己的頁(yè)面。

Lv2. 在返回網(wǎng)頁(yè)里插入外鏈<script>

這種做法相比之前的,要隱蔽的多,至少不會(huì)把人家網(wǎng)頁(yè)的源文件給替換了。

當(dāng)然,如果僅僅是在網(wǎng)頁(yè)的最后面插入<script>,那還是能被瞬間揭穿,甚至?xí)?bào)毒,因?yàn)檫@太山寨了!有哪個(gè)正常的網(wǎng)頁(yè)會(huì)在</html>后面跟內(nèi)容呢?只有掛馬的腳本。

不過(guò),要是放對(duì)地方,還真不能一眼看出。例如把廣告的<script src="">插在<head></head>其中的密密麻麻引用外部js的地方,至少能混上一段時(shí)間了。

防范措施

一般來(lái)說(shuō),插入的<script>大多都是外鏈形式的,這樣廣告變換會(huì)比較靈活。對(duì)于這種劫持,就要使用類(lèi)似殺毒軟件掃描可疑模塊的原理。

廣告不管怎樣插,最終都會(huì)以靜態(tài)HTML留在網(wǎng)頁(yè)里,這是不容抹去鐵證!

當(dāng)我們的網(wǎng)頁(yè)HTML加載完畢,觸發(fā)DOMContentLoaded時(shí),我們可以開(kāi)始掃描一遍DOM內(nèi)所有的<script>標(biāo)簽。如果發(fā)現(xiàn)有不在信任列表里的src,那么網(wǎng)頁(yè)很有可能被注入了可疑的腳本!

我們可以提交可疑腳本的url到后臺(tái)服務(wù)器,做進(jìn)一步認(rèn)證。如果確實(shí)有風(fēng)險(xiǎn),那么必須彈出警告框提醒用戶(hù)。

Lv3. 在返回網(wǎng)頁(yè)里插入內(nèi)置<script>

相比外鏈的腳本,內(nèi)置的就棘手的多。外鏈的url域名的總是那么幾個(gè),可以簡(jiǎn)單的實(shí)現(xiàn)過(guò)濾。但內(nèi)置腳本就千變?nèi)f化了!隨機(jī)變量名,插入廢代碼,各種玄乎。不過(guò),魔高一尺,道高一丈~

防范措施

想最簡(jiǎn)單的對(duì)付這種劫持,我們必須預(yù)先默認(rèn)個(gè)規(guī)定,來(lái)識(shí)別真假腳本元素。我們給自己的<script>元素設(shè)置個(gè)固定的標(biāo)簽,例如<script myjs="true">。當(dāng)然具體的標(biāo)簽名和值是經(jīng)常變動(dòng)的,對(duì)于劫持程序來(lái)說(shuō),顯然不知道會(huì)有這么個(gè)規(guī)矩,仍然傻乎乎的插入<script>...</script>。

于是在之后的"肅反運(yùn)動(dòng)"中,可以直接清洗掉了。

Lv4. 在返回網(wǎng)頁(yè)的<script>里混入廣告代碼

隨著劫持程序不斷升級(jí),招數(shù)會(huì)變的越來(lái)越狠。說(shuō)不定某天,劫持程序內(nèi)置一個(gè)html語(yǔ)義分析器,智能的把廣告腳本合并混淆到頁(yè)面原先的js里!

若要真是這樣,那么之前說(shuō)的給自己的腳本元素加上特征碼也無(wú)濟(jì)于事了。因?yàn)樘貏?wù)已深深的混入到了我們內(nèi)部,真真假假很難被識(shí)別!

最致命的是,腳本未必都是放在<script></script>,也有可能是<element onxxx="">的內(nèi)聯(lián)形式。這下麻煩大了,我得想想怎么解決。

防范措施

對(duì)于這種情況,還真找不到一個(gè)簡(jiǎn)單的方法來(lái)識(shí)別。唯一能走通的路,就是在發(fā)布HTML時(shí),記錄下文件的Hash值。可以把值寫(xiě)入網(wǎng)頁(yè),或者存在數(shù)據(jù)庫(kù)里。

當(dāng)網(wǎng)頁(yè)內(nèi)容加載完成時(shí),我們通過(guò)ajax再次讀取當(dāng)前頁(yè)面的內(nèi)容(一般來(lái)說(shuō)讀的就是當(dāng)前頁(yè)面的緩存數(shù)據(jù))。通過(guò)同樣的算法算出頁(yè)面的校驗(yàn)值,和原始值一比對(duì),就知道頁(yè)面是否被第三方篡改了。

我們還可以把篡改過(guò)的html發(fā)到后臺(tái),找出字符串差異部分,讓技術(shù)人員分析分析到底做了哪些手腳。

當(dāng)然,這只限于靜態(tài)網(wǎng)頁(yè)。

Lv5. 在返回網(wǎng)頁(yè)的外鏈腳本里混入廣告代碼

這招可算是終極篇 ———— 它完全不修改任何HTML內(nèi)容!

然而,一般的網(wǎng)頁(yè)多多少少要外鏈幾個(gè)js文件吧。于是,那些外鏈的腳本就成了香餑餑的肥肉被盯上了!

當(dāng)然也可以像驗(yàn)證html那樣,事先計(jì)算出所有的js文件的hash值,然后再使用ajax重新讀數(shù)據(jù)認(rèn)證比對(duì)。

不過(guò)可別忘了,外鏈js的路徑可以是任意的,而ajax只能讀取同源站點(diǎn)。而且,外鏈的<script>也無(wú)法讀取其text內(nèi)容。于是當(dāng)我們使用站點(diǎn)外的js文件時(shí),劫持程序可以肆無(wú)忌憚的從中混入代碼!

防范措施

由于受到沙箱策略的嚴(yán)格控制,我們根本無(wú)法獲得外部js內(nèi)的實(shí)際內(nèi)容,所以:走為上。盡量不使用外部站點(diǎn)的js文件。

對(duì)于自己站點(diǎn),但不是同個(gè)域名的,可以使用Flash的URLLoader跨域加載,只需部署一個(gè)crossdomain.xml即可。

Lv6. 把返回網(wǎng)頁(yè)的圖片內(nèi)容替換成廣告圖片

這樣的流量劫持已經(jīng)超越人類(lèi)了,趕緊派一個(gè)神做了它吧。。。

防范措施

理論上,完全可以解決。事實(shí)上,也沒(méi)問(wèn)題,只是工作量巨大。

不過(guò)外鏈圖片不管同源還是跨域的,都可以由Flash直接讀取,所以可以和html和js一樣,我們使用文件二進(jìn)制的Hash比對(duì),同樣可以驗(yàn)證圖片數(shù)據(jù)是否被劫持。

當(dāng)然要事先要計(jì)算出站點(diǎn)下或外鏈圖片的hash值,客戶(hù)端也要分析出當(dāng)前頁(yè)面里用到的圖片,并逐個(gè)驗(yàn)證。

大家有什么巧妙的檢測(cè)方法,歡迎留言~

上面說(shuō)了一大堆,其本質(zhì)無(wú)法就是在客戶(hù)端,把使用到的資源和服務(wù)器原始資源二進(jìn)制校驗(yàn),將出現(xiàn)問(wèn)題的資源反饋給后臺(tái)記錄,找出安全隱患。

雖然這里假象嵌入的僅僅是廣告腳本,然而這種腳本擁有和頁(yè)面內(nèi)其他腳本一樣的權(quán)限,因此可以輕而易舉的獲得用戶(hù)的cookie。

嵌入的腳本甚至可以通過(guò)WebSocket連接到黑客控制臺(tái),發(fā)送你的鼠標(biāo)和鍵盤(pán)的一舉一動(dòng),以及頁(yè)面上顯示的內(nèi)容;對(duì)方還可以遠(yuǎn)程控制,讓js在頁(yè)面里悄悄執(zhí)行各種意想不到的操作。

責(zé)任編輯:藍(lán)雨淚 來(lái)源: 紅黑聯(lián)盟
相關(guān)推薦

2013-05-22 16:46:02

2022-07-04 09:00:00

帳戶(hù)劫持信息安全攻擊

2011-11-25 15:58:43

2009-06-19 21:18:23

2009-07-05 11:27:09

2009-04-23 00:18:07

2019-08-30 08:57:36

勒索病毒漏洞網(wǎng)絡(luò)攻擊

2009-05-31 21:16:07

2012-08-13 09:43:10

2015-03-10 09:46:11

2009-12-23 16:10:14

2025-02-14 08:56:09

GoroutineContextChannel

2012-12-27 10:53:12

2011-03-22 14:57:07

2018-06-09 08:44:25

2022-03-31 14:55:31

網(wǎng)絡(luò)安全漏洞

2009-12-09 11:54:35

2012-11-22 14:45:28

2012-11-28 09:22:55

2011-03-01 17:35:46

點(diǎn)贊
收藏

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

主站蜘蛛池模板: www国产亚洲精品久久网站 | 欧美在线观看免费观看视频 | 国产精品久久久久久av公交车 | 日批免费看 | 91在线精品视频 | a视频在线观看 | 日韩成人在线网站 | 国产精品国产a级 | 亚洲第一av| 看av网址| 国产美女视频黄 | 精品91久久久| 人人性人人性碰国产 | 玩丰满女领导对白露脸hd | 羞视频在线观看 | av黄色在线播放 | 欧美中文在线 | 日韩专区中文字幕 | 人人干视频在线 | 亚洲精品一区二区 | 亚洲人在线 | 成人深夜福利 | 婷婷丁香激情 | 亚洲成人一级 | 亚洲天堂一区 | 日韩精品一区二区三区在线观看 | 国产成人亚洲精品 | 日韩欧美国产电影 | 国产伦一区二区三区视频 | 日韩美av | 美女黄网站视频免费 | 欧美成年视频 | 国产日韩欧美精品一区二区三区 | 亚洲一区二区三区观看 | 黄色av网站在线观看 | 999国产精品视频免费 | 一二三四在线视频观看社区 | 人妖一区 | 国产日韩欧美在线播放 | 亚洲天堂中文字幕 | 亚洲最新在线视频 |