标题：网页木马
简要介绍
网页木马就是表面上伪装成普通的网页文件或是将恶意的代码直接插入到正常的网页文件中，当有人访问时，网页木马就会利用对方系统或者浏览器的漏洞自动将配置好的木马的服务端下载到访问者的电脑上来自动执行。
网页挂马的实质是利用漏洞向用户传播木马下载器，当我们更清楚了这点就能做到有效的防范。
网页木马就是网页恶意软件威胁的罪魁祸首，和大家印象中的不同，准确的说，网页木马并不是木马程序，而应该称为网页木马“种植器”，也即一种通过攻击浏览器或浏览器外挂程序（目标通常是IE浏览器和ActiveX程序）的漏洞，向目标用户机器植入木马、病毒、密码盗取等恶意程序的手段
首先明确，网页木马实际上是一个HTML网页，与其它网页不同的是该网页是黑客精心制作的，用户一旦访问了该网页就会中木马。为什么说是黑客精心制作的呢？因为嵌入在这个网页中的脚本恰如其分地利用了IE浏览器的漏洞，让IE在后台自动下载黑客放置在网络上的木马并运行（安装）这个木马，也就是说，这个网页能下载木马到本地并运行（安装）下载到本地电脑上的木马，整个过程都在后台运行，用户一旦打开这个网页，下载过程和运行（安装）过程就自动开始。 
有朋友会说，打开一个网页，IE浏览器真的能自动下载程序和运行程序吗？如果IE真的能肆无忌惮地任意下载和运行程序，那天下还不大乱。实际上，为了安全，IE浏览器是禁止自动下载程序特别是运行程序的，但是，IE浏览器存在着一些已知和未知的漏洞，网页木马就是利用这些漏洞获得权限来下载程序和运行程序的。下面我举IE浏览器早期的一个漏洞来分别说明这两个问题。
网页木马的防范策略
网页木马的防范只靠杀毒软件和防火墙是远远不够的，因为一旦黑客使用了反弹端口的个人版木马（个人反汇编的一些杀毒软件无法识别的木马），那么杀毒软件和防火墙就无可奈何，所以，网页木马的防范要从它的原理入手，从根子上进行防范。
及时安装安全补丁改名或卸载（反注册）最不安全的ActiveXObject（IE插件） 
在系统中有些ActiveXObject会运行EXE程序，比如本文中“自动运行程序”代码中的Shell.application控件，这些控件一旦在网页中获得了执行权限，那么它就会变为木马运行的“温床”，所以把这些控件改名或卸载能彻底防范利用这些控件的网页木马。但是ActiveXObject是为了应用而出现的，而不是为了攻击而出现的，所有的控件都有它的用处，所以在改名或卸载一个控件之前，你必须确认这个控件是你不需要的，或者即使卸载了也不关大体的。 卸载（反注册）ActiveXObject过程如下：
第一步：在“开始”菜单上单击“运行”，输入“CMD”命令打开命令提示符窗口。 
第二步：在命令提示符下输入“regsvr32.exe shell32.dll /u/s”，然后回车就能将Shell.application控件卸载。 
如果日后我们希望继续使用这个控件的话，可以在命令提示符窗口中输入“regsvr32.exe shell32.dll /i/s”命令将它们重新安装（注册）。在上述命令中：“regsvr32.exe”是注册或反注册OLE对象或控件的命令，[/u]是反注册参数，[/s]是寂静模式参数，[/I]为安装参数。
改名ActiveXObject需要说明的是，改名一个控件时，控件的名称和CLSID（Class ID）都要改，并且要改彻底。下面仍以Shell.application为例来介绍方法。 
第一步：打开注册表编辑器，查找“Shell.application”。用这个方法能找到两个注册表项：“{13709620-C279-11CE-A49E-444553540000}”和“Shell.application”。 
第二步：把{13709620-C279-11CE-A49E-444553540000}改为{13709620-C279-11CE-A49E-444553540001}，注意，不要和系统中的其它CLSID重复。 
第三步：把“Shell.application”改名为“Shell.application_xxx”。以后用到这个控件的时候你使用这个名称就可以正常调用此控件了。
提高IE的安全级别有些网马只要调高IE的安全级别，或者禁用脚本，该网页木马就不起作用了。从木马的攻击原理我们可以看出，网页木马是利用IE脚本和ActiveX控件上的一些漏洞下载和运行木马的，只要我们禁用了脚本和ActiveX控件，就可以防止木马的下载和运行。 
小提示：禁用脚本和ActiveX控件会使一些网页的功能和效果失去作用，所以是否禁用，你要根据自己对安全的需要来定。 
第一步：在IE浏览器的菜单栏上选择“工具→Internet选项”打开“Internet选项”对话框。 
第二步：在“安全”选项卡上，在Internet和本地Internet区域，分别把滑块移动到最高，或者点击“自定义级别”，在打开的对话框上禁用脚本，禁用ActiveX控件。
攻击原理
网页病毒是利用网页来进行破坏的病毒，它存在于网页之中，其实是使用一些SCRIPT语言编写的一些恶意代码利用IE的漏洞来实现病毒植入。当用户登录某些含有网页病毒的网站时，网页病毒便被悄悄激活，这些病毒一旦激活，可以利用系统的一些资源进行破坏。轻则修改用户的注册表，使用户的首页、浏览器标题改变，重则可以关闭系统的很多功能，装上木马，染上病毒，使用户无法正常使用计算机系统，严重者则可以将用户的系统进行格式化。而这种网页病毒容易编写和修改，使用户防不胜防。 
目前的网页病毒都是利用JS.ActiveX、WSH共同合作来实现对客户端计算机，进行本地的写操作，如改写你的注册表，在你的本地计算机硬盘上添加、删除、更改文件夹或文件等操作。而这一功能却恰恰使网页病毒、网页木马有了可乘之机。而在我们分析网页病毒前，先叫我们知道促使病毒形成的罪魁祸首：Windows 脚本宿主 和Microsoft Internet Explorer漏洞利用 
Windows 脚本宿主，Internet Explorer漏洞以及相关WSH，是“Windows Scripting Host”的缩略形式，其通用的中文译名为“Windows 脚本宿主”。对于这个较为抽象的名词，我们可以先作这样一个笼统的理解：它是内嵌于 Windows 操作系统中的脚本语言工作环境。Windows Scripting Host 这个概念最早出现于 Windows 98 操作系统。大家一定还记得 MS-Dos 下的批处理命令，它曾有效地简化了我们的工作、带给我们方便，这一点就有点类似于如今大行其道的脚本语言。但就算我们把批处理命令看成是一种脚本语言，那它也是 98 版之前的 Windows 操作系统所唯一支持的“脚本语言”。而此后随着各种真正的脚本语言不断出现，批处理命令显然就很是力不从心了。面临这一危机，微软在研发 Windows 98 时，为了实现多类脚本文件在 Windows 界面或 Dos 命令提示符下的直接运行，就在系统内植入了一个基于 32 位 Windows 平台、并独立于语言的脚本运行环境，并将其命名为“Windows Scripting Host”。WSH 架构于 ActiveX 之上，通过充当 ActiveX 的脚本引擎控制器，WSH 为 Windows 用户充分利用威力强大的脚本指令语言扫清了障碍。WSH也有它的不足之处，任何事物都有两面性，WSH 也不例外。应该说，WSH 的优点在于它使我们可以充分利用脚本来实现计算机工作的自动化；但不可否认，也正是它的这一特点，使我们的系统又有了新的安全隐患。许多计算机病毒制造者正在热衷于用脚本语言来编制病毒，并利用 WSH 的支持功能，让这些隐藏着病毒的脚本在网络中广为传播。借助WSH的这一缺陷，通过JAVASCRIPT，VBSCRIPT，ACTIVEX等网页脚本语言，就形成了现在的“网页危机”。 
促使这一问题发生的还有问题多多Internet Explorer 的自身漏洞。比如：“错误的MIME Multipurpose Internet Mail Extentions，多用途的网际邮件扩充协议头”，“Microsoft Internet Explorer浏览器弹出窗口Object类型验证漏洞”。而以下介绍的几个组件存在的问题或漏洞或是在安全问题上的过滤不严密问题，却又造成了“网页危机”的另外一个重要因素。 
Java语言可以编写两种类型的程序：应用程序(Application)和小应用程序(Applet)。应用程序是可以独立运行的程序，而Applet不能独立运行，需要嵌入HTML文件,遵循一套约定，在支持Java的浏览器(如：Netscape Navigator 2.02版本以上，HotJava,Microsoft Internet Explorer 3.0版本以上)运行，是Java一个重要的应用分支，也是当时Java最令人感兴趣的地方(它一改网页呆板的界面)，就是在WWW网页(Home Page / Pages)设计中加入动画、影像、音乐等，而要达到这些效果使用最多的是Java Applet和Java Script (这是一种Java的命令语言)。 
JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。使用它的目的是与HTML超文本标记语言、与Web客户交互作用。从而可以开发客户端的应用程序等。它是通过嵌入或文件引用在标准的HTML语言中实现的。它的出现弥补了HTML语言的缺陷，它是Java与HTML折衷的选择，具有基于对象、简单、安全、动态、跨平台性等特性。 
l ActiveX是Microsoft提出的一组使用COM(Component Object Model，部件对象模型)使得软件部件在网络环境中进行交互的技术。它与具体的编程语言无关。作为针对Internet应用开发的技术，ActiveX被广泛应用于WEB服务器以及客户端的各个方面。同时，ActiveX技术也被用于方便地创建普通的桌面应用程序。在Applet中可以使用ActiveX技术，如直接嵌入ActiveX控制，或者以ActiveX技术为桥梁，将其它开发商提供的多种语言的程序对象集成到Java中。与Java的字节码技术相比，ActiveX提供了“代码签名”(Code Signing)技术保证其安全性。
网页病毒的攻击方式
既然是网页病毒，那么很简单的说，它就是一个网页，甚至于制作者会使这个特殊网页与其他一般的网页别无他样，但在这个网页运行与本地时，它所执行的操作就不仅仅是下载后再读出，伴随着前者的操作背后，还有这病毒原体软件的下载，或是木马的下载，然后执行，悄悄地修改你的注册表，等等…那么，这类网页都有什么特征呢？ 
诱惑的网页名称，以及利用浏览者的无知
不得不承认，很多恶意网页或是站点的制作者，他们对浏览者的心理分析是下工夫的，对域名的选择和利用绝对是很到位的。很多上网的男性网民大都对MM照片感兴趣，这就是他们利用的一个渠道。如你看到了一个域名：www.l*****.com，或是http://plmm.*****.net等等. 你会动心去看么。如果不会，再看这个域名：/Article/UploadFiles/200603/20060301160330179.gif 这个地址你会去看么？很显然，咋一看，图片！一张可能是MM的图片，又有懂点安全知识的人说了，放心它不可能是BMP图片木马，你用这个地址打开一定是张.GIF格式的图片。好，你可以去尝试一下。再看另外一个域名，很显然是经过构造的。/Article/UploadFiles/200603/20060301160331961.gif 你还能“火眼金睛”吗？不知道结果是什么，那你就放心的去点击它看看。 
利用浏览者的好奇心 
对什么都要好奇这可不是个好习惯。有些东西不是你想看就可以去看的。 
无意识的浏览者