自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳細(xì)解析JS木馬的原理及防范方法

安全 黑客攻防
木馬的種類有很多。其中IFRAME掛馬比較早,相應(yīng)的預(yù)防措施也比較多,其中用CSS配合JS腳本進(jìn)行預(yù)防是主流方式??蛇@種預(yù)防方式也存在安全隱患,JS腳本也可以被用來掛馬,令人防不勝防。我們下面要介紹反擊JS掛馬的方法。

木馬一直是黑客的拿手技量。善于用木馬的黑客,可以在原來的入侵基礎(chǔ)之上達(dá)到更大的目的。如今,雖然木馬的種類有很多。但其中IFRAME掛馬比較早,相應(yīng)的預(yù)防措施也比較多,其中用CSS配合JS腳本進(jìn)行預(yù)防是主流方式??蛇@種預(yù)防方式也存在安全隱患,JS腳本也可以被用來掛馬,令人防不勝防。我們下面要介紹反擊JS掛馬的方法。

JS掛馬溯源

當(dāng)IFRAME逐漸被黑客濫用的時(shí)候,有經(jīng)驗(yàn)的安全工程師也開始研究相應(yīng)的對(duì)策,一段時(shí)間內(nèi)各種阻止IFRAME掛馬的方法不斷涌現(xiàn),其中通用性較高的就是利用CSS配合JS腳本防御IFRAME掛馬。

而黑客也發(fā)現(xiàn),很多網(wǎng)站都會(huì)讓網(wǎng)頁調(diào)用JS腳本來實(shí)現(xiàn)廣告等諸多特效,如果將木馬掛在JS腳本中,所有調(diào)用該JS腳本的網(wǎng)頁都等同于被掛上了木馬,對(duì)于需要肉雞群的黑客而言是一勞永逸,因此JS腳本掛馬逐漸開始被黑客應(yīng)用。

小百科:JS腳本是JavaScript腳本語言的簡稱,它是一種面向?qū)ο蟮哪_本語言,目前廣泛用于動(dòng)態(tài)網(wǎng)頁的編程。需要提示大家的是,JavaScript和Java除了語法上有一些相似之處,以及都能夠當(dāng)作網(wǎng)頁的編程語言以外,兩者是完全不相干的。而JavaScript與Jscript也不同,Jscript是微軟為了迎戰(zhàn)JavaScript推出的腳本語言。

雖然JavaScript作為給非程序人員的腳本語言向大眾推廣,但是JavaScript是一門具有豐富特性的語言,它有著和其他編程語言一樣的復(fù)雜性。實(shí)際上,你必須對(duì)JS有扎實(shí)的理解才能用它來編寫比較復(fù)雜的程序,作為一名安全工程師,掌握J(rèn)S腳本在工作中會(huì)有很大的幫助。

掛馬原理一點(diǎn)通

JS腳本掛馬對(duì)于黑客而言,可以說優(yōu)點(diǎn)多得數(shù)不過來,首先JS腳本在掛馬時(shí)可以直接將JS代碼寫在網(wǎng)頁中,也可以通過注入網(wǎng)頁,讓網(wǎng)站遠(yuǎn)程調(diào)取異地JS腳本。此外,JS掛馬插入Web頁面的方法有幾十種,絕對(duì)夠菜鳥們眼花繚亂,無從辨別木馬在何處。

IFRAME掛馬相對(duì)于安全工程師而言,如同一個(gè)穿著鮮紅顏色外衣的劫匪,招搖而扎眼,很容易被發(fā)現(xiàn)。但是利用JS掛馬就意味著這個(gè)劫匪擁有了一張可以隨時(shí)變換的面孔,而且它還能夠隨時(shí)更換衣服。這樣的劫匪在安全工程師搜查時(shí),很容易蒙混過關(guān),導(dǎo)致木馬久殺不絕。

JS掛馬攻防實(shí)錄

攻現(xiàn)最多見的JS掛馬方法有兩種,一種是直接將JavaScript腳本代碼寫在網(wǎng)頁中,當(dāng)訪問者在瀏覽網(wǎng)頁時(shí),惡意的掛馬腳本就會(huì)通過用戶的瀏覽器悄悄地打開網(wǎng)馬窗口,隱藏地運(yùn)行。

另外一種JS掛馬方式是,黑客先將掛馬腳本代碼,存為.js的腳本文件,并上傳到自己指定的網(wǎng)址。這時(shí)黑客只需要在受害者的網(wǎng)站中寫入。

防第一種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(‘木馬被成功隔離!’):”);}

不過這種方法的缺點(diǎn)就是網(wǎng)站的訪問者將不能看到被掛了JS木馬的相關(guān)網(wǎng)頁。

所以我們?yōu)榘踩こ處熖峁┝艘欢慰梢灾兄笿S腳本運(yùn)行的CSS代碼,這段代碼會(huì)讓異地外域的JS文件在使用document.write()時(shí),被document.close()強(qiáng)制關(guān)閉。這個(gè)時(shí)侯JS掛馬的內(nèi)容往往還沒有來得及寫完,只有部分被強(qiáng)制輸出了,Writer后面的內(nèi)容再不會(huì)被寫入訪問者的電腦中,從而起到防范JS腳本掛馬的作用。

<title>讓JS掛馬中止的CSS代碼</title>

<style type=”text/css” id=”shudoo”>

/*<![CDATA[*/

iframe{mdy1:expression(this.src='about:blank',this.outerHTML='');}

script{mzm2:expression((this.src.indexOf('http')==0)?document.close():'');}

/*]]>*/

</style>

責(zé)任編輯:藍(lán)雨淚 來源: 游俠安全網(wǎng)
相關(guān)推薦

2011-03-14 10:10:01

2023-11-16 09:01:37

Hadoop數(shù)據(jù)庫

2011-12-06 09:58:20

2012-02-13 17:26:35

2010-09-16 11:13:02

2009-02-06 10:11:47

2015-03-10 13:55:31

JavaScript預(yù)解析原理及實(shí)現(xiàn)

2013-05-20 10:20:02

2011-04-07 15:32:25

2012-02-29 09:42:31

2009-06-26 16:09:53

2009-10-28 10:22:48

2011-03-30 10:41:07

2020-07-10 09:04:55

HTTPS瀏覽器網(wǎng)絡(luò)協(xié)議

2010-08-25 15:50:43

2010-09-30 08:30:01

2009-10-29 17:30:08

2010-07-22 11:18:14

2013-05-13 17:33:10

2012-12-03 09:32:22

ARP
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)