首页 -> 安全研究

安全研究

安全漏洞
微软Java虚拟机允许读取本地文件

发布日期:2000-02-03
更新日期:2000-02-21

受影响系统:
Microsoft Java VM (2000/3000/3100 series builds)
    - Microsoft Internet Explorer version 4.x
    - Microsoft Internet Explorer version 5.x
描述:

来源:Mr. Amemiya

  
概要:
    该安全漏洞是微软的Java虚拟机(VM)允许Java程序读取某一路径中的文件。使用很简单的Java代码就可以实现。这个漏洞很危险,如果用户在安装的时候是以推荐方式安装的话,或已经安装了微软的Java虚拟机的,请立即屏蔽掉Java功能。
  
细节:
    这个漏洞允许Java程序读取任何已知文件。当IE用户访问一个Web站点的主机时,该主机可以通过Java程序代码自动的得到文件信息。已知文件主要是Windows系统文件,象已注册程序,特别是那些常用软件,和用户习惯使用的文件,如:memo.txt,password.txt,通常是在桌面或是常用目录里。一些二进制的文件也可以以文本方式查看。有一点必须说明的是,该漏洞并不能改变和删除本地文件。
    通过系统配置,在"当前工作路径"调用Java虚拟机的时候,可以限制可读的路径及其虚拟路径."当前工作路径"在不同版本的IE和VM中都不一样。下面是测试的结果:
  
- C:\, 使用 IE4,就是说,所有的文件都是存放在默认路径C:,并且可读;Windows NT例外,它是存放在每个用户的profile目录下。
  
- C:\Windows\desktop,使用 IE5,IE5.01,也就是说只有当文件是放在桌面的时候才可读。
  
    很多情况表明,如果你在C:\AUTOEXEC.BAT中设置环境变量CLASSPATH,那么,在CLASSPATH中设置的路径下的文件都可读。
  


测试方法:

警 告

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


    攻击者可以先建一个包含恶意Java代码的Web站点,当访问该站点的时候,Java程序(可能)会被下载,并在浏览者机器上被调用,然后将存在你机器上的文件信息返回。具体代码如下:
  
InputStream is = ClassLoader.getSystemResourceAsStream(filename);
  
    这简单的一行程序是读取IE用户机器上的本地文件。该程序可以同过已建立的网络,将文件发回任何Web服务器,或者是作为附件加到email中发到其他地方。
  
示例:
  
http://java-house.etl.go.jp/~takagi/java/test/microsoft_insecurity/Test.html



建议:

1、临时解决方法:
  
- IE4用户
   禁止微软的Java功能。
  
- IE5用户
   在  "工具"-"安全"-"自定义级别"-"Java"-"Java权限" 中,选择"禁用"
   在  "工具"-"安全"-"自定义级别"-"微软虚拟机"-"Java权限" 中,选择"禁用"
  
2、Microsoft公司已提供补丁程序,请到以下网址下载并安装:
  
- 2000 series builds:  <http://www.microsoft.com/java/vm/dl_vmsp2.htm>
                        http://www.microsoft.com/java/vm/dl_vmsp2.htm
  
- 3100 series builds:  <http://www.microsoft.com/java/vm/dl_vm32.htm>
                        http://www.microsoft.com/java/vm/dl_vm32.htm
  
- 3200 series builds:  <http://www.microsoft.com/java/vm/dl_vm40.htm>
                        http://www.microsoft.com/java/vm/dl_vm40.htm
  


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