监控安装 ERP

系统集成论坛

 找回密码
 注册通行证

QQ登录

只需一步,快速开始

路由器交换机防火墙系统集成商城 优质产品采购平台
查看: 1431|回复: 1
打印 上一主题 下一主题

详解JS木马的原理及防范方法

[复制链接]

6

主题

9

帖子

41

积分

实习生

QQ
跳转到指定楼层
1
发表于 2013-3-8 09:30:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
华为金牌代理
木马的种类有很多,其中IFRAME挂马比较早,相应的预防措施也比较多,其中用CSS配合JS脚本进行预防是主流方式。可这种预防方式也存在安全隐患,JS脚本也可以被用来挂马,令人防不胜防。我们下面要介绍反击JS挂马的方法。

木马一直是黑客的拿手技量。善于用木马的黑客,可以在原来的入侵基础之上达到更大的目的。如今,虽然木马的种类有很多。但其中IFRAME挂马比较早,相应的预防措施也比较多,其中用CSS配合JS脚本进行预防是主流方式。可这种预防方式也存在安全隐患,JS脚本也可以被用来挂马,令人防不胜防。我们下面要介绍反击JS挂马的方法。

JS挂马溯源

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

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

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

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

挂马原理一点通

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

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

JS挂马攻防实录

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

另外一种JS挂马方式是,黑客先将挂马脚本代码,存为.js的脚本文件,并上传到自己指定的网址。这时黑客只需要在受害者的网站中写入。

防第一种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脚本挂马的作用。

<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>

来源:成都优创信安官方网站 www.nsexpert.com
2
发表于 2013-3-8 10:13:56 | 只看该作者
华为金牌代理
看看,以前也玩过,不过现在网络上貌似稍微安全了些。
我分享,我成长!系统集成 XTJC.COM
您需要登录后才可以回帖 登录 | 注册通行证

本版积分规则

联系我们| 手机版|系统集成论坛 ( 京ICP备11008917号 )

GMT+8, 2025-6-13 01:29 , Processed in 0.047153 second(s), 24 queries .

系统集成论坛

BBS.XTJC.COM

快速回复 返回顶部 返回列表