当前位置:文档之家› windows平台下ASP网站被挂马的原因及防范的研究

windows平台下ASP网站被挂马的原因及防范的研究

windows平台下ASP网站被挂马的原因及防范的研究
windows平台下ASP网站被挂马的原因及防范的研究

windows 平台下网站被挂马的原因与对策防范的研究

牟红睿

(新疆天业集团,新疆石河子 742500)

摘要:随着网络技术的不断发展,网络上的各种攻击技术也越来越隐密,方法更加多样化。网页挂马就是常用的攻击方式之一,本文通过分析网页中挂马的原理、类型及方式,以及网页挂马的原因,经过大量实践研究总结出服务器和客户端各种网页挂马的检测方法及防范对策。

关键字:网站挂马;原因;检测方法;防范对策;

随着计算机网络技术的不断发展,互联网安全形势也逐渐严峻,网络上的各种攻击手段也在变得越来越隐秘,方法也更多样化。根据《瑞星2012年中国信息安全综合报告》,2012年1至12月瑞星“云安全”系统截获挂马网站516万个网页,比2011年同期增加了48.7%[1]。网页挂马不仅对网站的安全运行造成威胁,而且对于用户来说,有可能造成个人信息泄露、各种账户及密码被窃取等严重恶劣影响。

1.网页挂马的原理

网站挂马又称之为网页隐藏式恶意连结,就是攻击者在正常的页面中插入一段伪代码,当浏览该网页时,这段代码就会被执行,同时下载并运行所调用的木马服务器端程序,进而控制浏览者的主机,以便对用户实施各种攻击[2]。作为网页挂马的散布者,其目的是将木马下载到用户本地,并进一步执行,当木马获得执行之后,就意味着会有更多的木马被下载,进一步被执行,进入一个恶性的循环,从而使用户的电脑遭到攻击和控制。

2.网页挂木马的过程及挂马方法

网页挂马实际上一个html 网页而已,但它与其它网页不通的是该网页是经过精心制作的。当用户访问该网页时就会中木马,这些网页利用了浏览器漏洞或者操作系统漏洞等,让浏览器在后台自动下载指定位置的木马并安装或直接运行。这些过程都在后台运行,用户很难察觉的到。挂马只是一种手段,其目的是将木马传播出去。以远程控制为目的的木马,是为了得到大量的肉鸡,以此对某些网站实施控制和修改。以获取信息为目的的木马,是为了获取各种账号信息。

2.1网站挂马攻击过程

(1)将准备好的木马程序上传到申请的空间中,运行木马生成器,在“木马地址”中填入已经上传到空间中的木马网址,然后点击“生成网马”按钮,即可在程序的同目录生成一个网页木马。运行网马加密软件,在“欲加密的网页”中浏览选中生成的网页木马对其进行加密,最后将其上传到网页空间中,并保证和空间中的木马程序位于同一目录中。(2)黑客利用工具软件搜索有脚本缺陷或漏洞的网站进行入侵,得到网站的webshell ,然后利用各种挂马方式编辑网站首页的内容,插入相应的挂马代码。(3)当网站的浏览者浏览该网站时,浏览者点击某个连接或者浏览某个页面,就会转引到黑客预先设计好的木马连接陷阱。(4)

浏览者在不知情的情况下,本地图 2利用木马攻击过程

电脑会被植入木马程序,这段程序就会被执行,进而控制浏览者的主机,以便对用户施展各种攻击。(如图2所示网页挂马的过程图)。

挂马方式有很多,其原理就是在一个正常的网页中做一个指向存在木马的地址指向。以Script 挂马为例,Script标签用于定义客户端脚本,比如JavaScript。Script元素即可包含脚本语句,也可以通过src属性指向外部脚本文件。实现常见的图像操作、表单验证以及动态内容更新等。但是src的这个功能被攻击者的利用,比如在网页中插入

等各种形式。黑客可以把木马植入muma.txt、shareto_button.js、ver.asp、mystat.asp等文件中,这就会导致用户在打开正常的页面是也访问了含有漏洞溢出的页面,虽然用户看不到这个页面,但这个页面却被执行了。

下面我们针对这种挂马流程做一个具体的过程:

首先,准备一款木马软件,比如PcShare、灰鸽子等,PcShare是一款功能强大的远程管理软件,可以在内网、外网任意位置随意管理需要的远程主机,有超强的隐藏和自我修复等功能。上传到黑客构建的服务器上,并记下可以通过Web访问的有效地址路径。

其次,编写一个网页木马。这个网页木马被执行后就会下载在第一步准备的木马软件。

最后,在正常的页面挂上前面准备好的木马了。就是利用Script指向你的网页木马的地址,这样当用户在访问正常页面时,网页木马也会得到执行。

2.2挂马方法

网页挂马中所使用的木马隐蔽性都很高。黑客为躲避杀毒软件对所挂木马的查杀,常使用2 种方法对所挂木马进行特殊处理:①加壳处理,即对源文件经过特殊的算法进行压缩、变形,经过这道工序后木马程序就会逃过大部分杀毒软件的查杀;②修改特征码,即黑客对木马中特征码部分的代码进行修改,将其加密或使用汇编指令将其跳转,致使杀毒软件无法找到病毒特征码,从而不能将其判定为病毒。常见的挂马方式如下:

Iframe框架挂马。Iframe是HTML语言标记,作用是文档中的文档,或者浮动的框架(FRAME)。黑客在一些正常的网页中设置一些高度或宽度为零的隐藏框架,这样用户在打开正常网页时候,看不到这个页面存在的木马地址指向,于是木马就被执行。

Javascript挂马。它的隐蔽性较iframe高,更难发现;而且javascript挂马时可以将脚本直接写在被挂的页面中,也可以通过注入网页,让网站远程调取异地的js脚本。javascript的灵活性较高,这让它拥有了一张随时可以变换的面孔,很容易蒙混过关,导致木马久杀不绝。比如在javascript代码中有一个Window的open功能, 。或者先将脚本代码保存为一个独立的js文件,并上传到一个黑客的服务器中,然后用一句语句就可以了。

CSS挂马。如今交互式的Web2.0网站越来越多,允许用户设置与修改的博客、SNS社区等这些互动性非常强的社区和博客中,往往会提供丰富的功能,并且会允许用户使用CSS层叠样式表来对网站的网页进行自由的修改。黑客在利用CSS挂马时,往往是借着网民对某些大网站的信任,将CSS恶意代码挂到博客或者其他支持CSS的网页中,当网民在访问该网页时恶意代码就会执行[3]。比如下面这段代码:

Body{Background-image:url('javascript:document。write('path'));}"background-image"在css中功能是定义页面背景图片,而这段代码可以通过"background-image"配合javascript代码让网页悄

悄地在用户的电脑中运行。但这段代码有个问题,就是在运行时会出现空白的页面,影响网页访问者正常的访问,因此比较容易发现。或者body { background-image: url('javascript:document.write(””)') } ,muma.js内容是document.write(””) 。

background-image:url(t:open(”http://https://www.doczj.com/doc/968323725.html,/muma.html”,”newwindow”,”border=”1″Height=0,Width=0,top=1000,center=0,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no”)),这段代码使用了t的Open开窗,通过新开一个隐藏的窗口,在后台悄悄地运行新窗口并激活访问网页溢出木马页面,不会影响访问者观看网页内容,因此更加隐蔽。

图片伪装挂马。攻击者利用黑客工具软件将网页中的木马代码植入到图片文件中,然后利用代码调用执行,它是一种比较新颖的隐蔽挂马方法。实例代码如:

注:当用户打开https://www.doczj.com/doc/968323725.html,/test.htm 是,显示给用户的是https://www.doczj.com/doc/968323725.html,/test.jpg,而https://www.doczj.com/doc/968323725.html,/test.htm网页代码也随之运行。图片伪装。

以上几中虽然列出了常见的网页木马驻扎方式,但随着时间的推移,这些挂马方式将会演变成各种各样的形态,旨在盗取不同的机密与链接恶意用户指定的木马载有页,以达下载更多的木马病毒霍乱被感染的计算机,让其成为新的病毒木马载体源,从而为新一轮的感染创造条件。

2.3木马的执行方法

木马在完成下载之后,执行的方式有: ①利用页面元素渲染过程中的格式溢出执行shellcode 进一步下载的木马;②利用脚本运行的漏洞执行木马;③伪装成缺失组件的安装包被浏览器自动执行;④通过脚本调用com 组件利用其漏洞执行木马;⑤利用页面元素渲染过程中的格式溢出直接执行木马;⑥利用com 组件与外部其他程序通讯,通过其他程序启动木马。

为了躲开杀毒软件的查杀,一些网马还会进行以下操作: ①修改系统时间,使杀毒软件失效;②摘除杀毒软件的HOOK 挂钩,使杀毒软件检测失效;③修改杀毒软件病毒库,使之检测不到恶意代码; ④通过溢出漏洞不直接执行恶意代码,而是执行一段调用脚本,以躲避杀毒软件对父进程的检测。

3.ASP网站被挂马的原因

3.1Windows服务器或应用程序存在安全漏洞

Windows Server方便快捷,但是仍然存在着安全隐患,系统本身的漏洞。通过缓冲区溢出漏洞直接获得CMDSHELL或者系统权限。比如说IIS写权限漏洞,可以匿名访问IIS,并且写入ASP木马,获得WEBSHELL。如果管理员疏于管理,不及时的安装补丁,就可能导致漏洞被攻击者利用从而篡改网页进行挂马。

浏览器、应用软件总是存在各种各样的漏洞,只要这些漏洞能够被利用并执行任意代码,那么存在漏洞的系统就有可能受到网页木马攻击。网页挂马是黑客通过各种手段,包括SQL注入,网站敏感文件扫描,服务器漏洞,网站程序等各种方法获得网站管理员账号,然后登陆网站后台,通过数据库的备份或者上传漏洞等获得网站管理权限。利用网站管理权限修改网站页面的内容,向页面中加入恶意转向代码等。

3.2 ASP网站存在漏洞

ASP网站漏洞主要有注入漏洞、跨站漏洞、旁注漏洞、上传漏洞、暴库漏洞和程序漏洞等等。网页代码编写的问题主要体现在两个方面,一是有数据库操作的代码对用户提交的参数没有严格进行限制,导致用户可以利用特定的输入参数对数据库进行读写操作,从而得以向数据中插

入挂马链接,这也就是我们常说的SQL 注入攻击。代码编写存在的另一种问题是网站页面代码本身实现了上传附件的功能,但是在实现过程中对用户所上传附件的文件类型限制不严,导致攻击者可以上传木马文件控制服务器进而对网页进行挂马(常见于开源的论坛搭建代码)。

3.3计算机病毒导致网页被挂马

一些病毒感染系统后会在系统上所有的网页文件中加入挂马链接,如果感染病毒的是Web 服务器或者是用于网页开发的系统,那么网站的网页中就可能被插入挂马链接。还有一些病毒则会通过ARP 欺骗来劫持整个局域网内80端口的链接,并修改网络数据包,插入挂马链接。

如果Web 服务器所在的局域网内有其他机器感染这类病毒就可能导致外部用户访问到的页面存在挂马链接。由于Linux 系统的下的病毒数量远少于Windows ,这也是造成IIS+ASP 比其他搭配更容易遭受挂马攻击的原因之一。

4. 网页挂马的检查与防范措施

4.1检查网站是否被挂马

(1)利用搜索功能。操作系统或者Macromedia

Dreamweaver 有搜索功能,对常见挂马的关键字

Iframe 、.js 、