微软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(网友投票)