微软Java虚拟机允许读取本地文件

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

  受影响系统:

  - 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程序(可能)会被下载,并在浏览者机器上被调用,然后将存在你机器上的文件信息返回。具体代码如下:

  InputStreamis=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

  - 3100 series builds:

  http://www.microsoft.com/java/vm/dl_vm32.htm

  - 3200 series builds:

  http://www.microsoft.com/java/vm/dl_vm40.htm

坚守自己的原则,世界上的诱-惑很多,

微软Java虚拟机允许读取本地文件

相关文章:

你感兴趣的文章:

标签云: