受影響系統:
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
- 3100 serIEs builds:
http://www.microsoft.com/Java/vm/dl_vm32.htm
- 3200 serIEs builds:
http://www.microsoft.com/Java/vm/dl_vm40.htm