一个简单的HTML病毒分析

所属分类: 网络编程 / ASP编程 阅读数: 2032
收藏 0 赞 0 分享
一直就想写这篇东西了,只是上班时说要上班,不写,回家后又忙着玩游戏,丢一边去了。现在只好不务正业的开写了,希望头儿不会知道我的blog。哈哈   在很久之前就对HTML的病毒很感兴趣了,很好奇怎么能远程向本地不经过允许就能下载可执行文件的,只是一直没机会搞得到ASP的原码,所以不才敢断章取义的去作什么分析。最近一次听一朋友说他看一个网页时病毒防火墙提示有病毒,叫我小心(先感谢一下他先),我闪了一下念头,就打开FlashGet把那个病毒首页下了下来。   稍微看了一下发现在首页代码的下面几行里有一个隐含的浮动帧。其引用的URL地址并不是本地的,感觉应该是了,然后再次动用FlashGet下了下来。居然发现放病毒的空间不支持ASP,下下来的ASP文件是源文件。这样兴趣来了,三下五除二的把所有病毒的相关文件都下了下来。   由于这个病毒很简单,所以我也只摘抄了一些片段而以,如果实在感兴趣的话,不防去找一个有病毒的网页瞅瞅,不过,不要用IE去看,要用FlashGet等下载工具下载下来,再用记事本打开,不然中招了可不要来找我,好了正文开始。   真正的病毒有三个文件,一个是引导文件,一个是下载文件,第三个是激活文件。   第一个引导文件     关键部分是:         这个作用是将下载和激活两个文件当作该页的对象来引用并运行,这个也是病毒文件能够在本地进行感染的关键地方,在引用的文件里居然能够无阻碍的引用客户端的Action组件,唉唉,这就是那把刀啊。   第二个是下载exe病毒文件     然后是怎么将exe下载下来,而不弹出下载的提示框呢。这个是收下载文件来完成的任务。     该病毒的作法是在服务器端用Microsoft.XMLHTTP组件和response.contenttype = "image/gif"将病毒文件以图片格式下载到客户端的网页缓存里(这里是很简单的Get/BinaryWrite操作,就不详细说了)。   第三个是激活     感觉激活的过程很巧妙,病毒是先用fso在c:\下生成一个hta文件,将激活过程写到这个文件里。然后再用WScript.Shell来运行这个文件。这样,激活过程中需要大权限的操作(比如:写注册表操作)就没问题了。     具体操作过程是这样的。将在网页缓存目录里的病毒文件移动到系统文件目录,然后改名为win.exe。再往注册表里写入自启动的键,使得病毒能在系统重启后自动启动,然后删除hta文件,完成感染和激活。   这就是病毒的基本运行过程(依照惯例病毒破坏部分就不提了),但是这个对我们有什么用呢,其实这种病毒我是很讨厌的,但是,其下载exe和激活过程还是有可利用的地方的。比如:你作的系统必须要客户端下载一些组件并激活后才能使用的,这种操作面对了解的人当然是不成问题,但是如果你面对的是那种网络是什么都还没搞清林的用户时,我估计系统还没开始使用你的电话就要打爆了。如果借用种方式,在对方允许的情况下自动下载组件,并自动激活,那就省事多了,是吧。   不过,这种方式对小形文件是很方便,如果要下载1m以上的文件..那就要考虑多线程下载的操作了,当然这个不是这篇文章的范围了。以后有机会再说说用ASP+XML实现WEB多线程上传多线程下载的方法吧。

更多精彩内容其他人还在看

asp知识整理笔记4(问答模式)

这是关于asp知识整理的最后一份笔记,希望大家仔细阅读。
收藏 0 赞 0 分享

ASP基础知识VBScript基本元素讲解

这篇文章主要介绍了ASP基础知识VBScript基本元素的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

ASP编码和解码函数详解

这篇文章主要介绍了ASP编码和解码函数的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

ASP显示页面执行时间的方法

这篇文章主要介绍了ASP显示页面执行时间的方法,在本地测试一下输出页面需要多少时间,需要的朋友可以参考下
收藏 0 赞 0 分享

ASP基础入门第一篇(ASP技术简介)

本文将以 Active Server Pages 为中心,向你全面展示制作动态商业网站的步骤和技巧并通过大量的实例,让你在不断的理论和实践之中笑傲“网络”……
收藏 0 赞 0 分享

ASP基础入门第二篇(ASP基础知识)

这篇文章是ASP基础入门第二篇,第一篇展示了ASP动态网站设计的一些最基本的方法,相信通过实践各位对 ASP 已经有了最基本的了解,本文将进一步介绍ASP动态网站的一些基本技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

ASP基础入门第三篇(ASP脚本基础)

通过前两篇的学习,相信各位已经对 ASP 的动态网站设计有了一个基本的概念和整体的印象。从本篇开始作者将从脚本语言的使用着手,由浅入深地带领大家探索 ASP 动态网站设计的真正奥秘。
收藏 0 赞 0 分享

ASP基础入门第四篇(脚本变量、函数、过程和条件语句)

大家在学习了脚本语言 VBScript 的变量、常量和过程的基本概念后,本期将继续向各位介绍 VBScript 的函数和语法。
收藏 0 赞 0 分享

ASP基础入门第五篇(ASP脚本循环语句)

在本文上两篇中,我们学习了脚本语言 VBScript 的变量、函数、过程和条件语句,本篇将继续给大家介绍 VBScipt 的循环语句,并对脚本语言在 ASP 中的应用加以总结。  
收藏 0 赞 0 分享

ASP基础入门第六篇(ASP内建对象Request)

从本篇开始作者从 ASP 内建对象着手,为大家详细剖析 ASP 的六个内建对象和各种组件的特性和方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多