国内外的杀毒软件在使用中,都会使用一种组件杀毒技术,其实就是利用杀毒软件提供的接口,使别的程序在使用中能够同时进行杀毒。不过瑞星好像还有个叫做"嵌入式杀毒"的方法,这和我们讨论的不是一回事,那是另一种程序间调用杀毒的方式,就不细说了。这些组件在杀毒软件安装时被直接安装进入系统,卡巴斯基在安装时,会将一个名叫"AxKLProd60.dll"的库文件注册为组件,这个组件的KLProd60类中提供了一个接口函数,名为deleteFile,它的原型是"BOOL deleteFile(char*FilePath)",这个函数我猜测是用来删除病毒文件的。本来一切都很正常,但却是一个非常不严谨的使用。试想,如果我们能够通过某种方式调用这个接口函数,岂不是能够删除任意文件?
为了证明我的猜想,制作一个网页来调用这个接口函数。之所以选择网页,是因为如果我们是编写可执行程序调用这个函数,那就没什么意思了,编过程序的朋友都知道,任何一种编程语言本身就有删除文件的函数,大可不必使用卡巴斯基的接口函数。我们的目的是测试安装了卡巴斯基的用户,会不会在不知情的情况下,莫名地被删除文件。这里大家可以用我提供的网页文件test.htm做一下测试,其代码如下。
| 以下是引用片段: <SCRIPT language=javascript> function test() { bug.deleteFile("E:\\1.txt"); //这里就是调用函数deleteFile,为了测试,我传递给它一个E盘下的1.txt文件的完整路径名 } </script> <object classid="clsid:D9EC22E7-1A86-4F7C-8940-0303AE5D6756" name="bug"> //这是卡巴斯基组件的注册标识 </object> <script>javascript:test(); //调用测试函数 </script> |
这个测试网页是为了测试通过卡巴斯基的组件接口函数能不能删除我E盘下的名为1.txt的文件,测试的接口函数就是deleteFile。
点击访问这个网页文件,注意,如果你的系统是Windows XP SP2,这里会有一个安全提示,但是如果上传到网站再访问的话,就不会有安全提示了。打开这个网页后,发现我E盘上的1.txt文件果真被删除了。等一下,这里只是本地测试了一下,如果把这个网页文件放到网站上,在我们访问时会不会也删除我们电脑上的文件呢?为了测试,我把这个文件放到了网站上,抱着激动的心情,我马上访问这个网页,E盘下的1.txt文件果真被删除了!
有了这个测试结果,如果我们把代码重写一下,使用一个遍历过程,比如使用For循环,遍历的内容为系统文件或者一些指定的文件,就像下面的示例代码一样。当有人访问这个恶意网页后,他电脑上的所有文件就会在弹指间烟飞灰灭了。
| 关于phpwind 5.01-5.3 0day的分析 | 04-09 | |
| PPPOE验证缺陷所带来的危害 | 03-21 | |
| Ce-Admin新闻发布系统漏洞分析 | 02-07 | |
| Discuz漏洞分析 | 11-28 | |
| 入侵检测PHP程序中的目录遍历漏洞 | 10-12 | |
| 主流入侵检测产品大比较 | 10-03 | |
| 一种新的带宽攻击方式(图) | 06-16 | |
| Html标签带来的安全隐患 | 06-05 | |
| Javascript实现评估用户输入密码 | 05-30 | |
| 针锋相对:主要的反NIDS技术应用 | 05-22 | |
| dvbbs7.1sp1最新漏洞的研究和利用 | 05-13 | |
| IE mhtml redirection漏洞利用方 | 05-12 | |