Các lỗ hổng trong cấu hình máy chủ web

Một phần của tài liệu Bài giảng An toàn ứng dụng web và cơ sở dữ liệu: Phần 1 (Trang 66 - 69)

Cấu hình máy chủ web thiết lập các tùy chọn cho phép điều khiển hoạt động của máy chủ web, theo đó có ảnh hƣởng đến tất cả các website chạy trên máy chủ đó. Các điểm yếu, lỗ hổng trong cấu hình máy chủ web bao gồm: các tài khoản quản trị ngầm định, các nội dung ngầm định, liệt kê nội dung thƣ mục và các phƣơng thức nguy hiểm.

3.1.1.1. Các tài khoản quản trị ngầm định

Hầu hết máy chủ web đều có các tài khoản quản trị ngầm định với mật khẩu yếu hoặc thậm chí không có mật khẩu, đặc biệt là với các phiên bản cũ của máy chủ web và hệ điều hành nền. Hình 3.1 liệt kê tài khoản ngầm định trên một số máy chủ web.

Hình 3.1.Tài khoản ngầm định trên một số máy chủ web 3.1.1.2. Các nội dung ngầm định

Nhiều phần máy chủ web đƣợc xuất xƣởng kèm theo các nội dung ngầm định, có thể là "đòn bẩy" giúp tin tặc tấn công máy chủ và các ứng dụng web. Một số nội dung ngầm định có thể gây rủi ro cho hệ thống:

- Các tính năng gỡ rối và kiểm thử cho ngƣời quản trị.

66 - Một số tính năng đặc biệt đƣợc thiết kế dùng trong nội bộ, nhƣng lại vô tình để

ngƣời ngoài có thể truy nhập.

- Tài liệu hƣớng dẫn sử dụng, hoặc quản trị máy chủ web có thể là công cụ hỗ trợ đắc lực cho tin tặc.

Hình 3.2 là kết quả xem trang "phpinfo.php" dùng cho quản trị cho phép đọc thông tin cấu hình máy chủ web – minh họa cho khai thác tính năng gỡ rối và kiểm thử cho ngƣời quản trị.

Hình 3.2.Trang phpinfo.php dùng cho quản trị cho phép đọc thông tin cấu hình

Hình 3.3.Tính năng mẫu cho phép cập nhật tham số phiên trong Apache Tomcat

Các tính năng mẫu (Sample features) dành cho ngƣời quản trị cũng có thể bị khai thác, nếu không đƣợc quản lý tốt. Chẳng hạn máy chủ web Microsoft IIS ở các phiên bản cũ hơn 6.0 cung cấp trang CodeBrsw.asp đƣợc thiết kế chỉ hoạt động trong thƣ mục code mẫu /IISSAMPLES. Trang này nhận tên file và hiển thị mã nguồn của các trang ASP.

67 Tuy nhiên, khi nhập đƣờng dẫn của các trang khác theo dạng /IISSAMPLES/../NEW_FOLDER/page.asp vẫn có thể xem đƣợc mã nguồn của các trang khác. Nhiều script mẫu đi kèm với máy chủ Microsoft IIS cho phép tin tặc thực hiện truy vấn cơ sở dữ liệu, đọc nội dung thông tin tài khoản của hệ điều hành Windows. Điều may mắn là, các phiên bản IIS mới (6, 7 và 7.5) đã loại bỏ các script mẫu dạng này. Tƣơng tự, máy chủ Apache Tomcat cũng cung cấp công cụ cho phép đọc và cập nhật các tham số của phiên, nhƣ minh họa trên Hình 3.3. Tin tặc có thể lợi dụng tính năng này để can thiệp vào phiên làm việc của ngƣời dùng.

Ngoài ra, một số máy chủ web cung cấp các tính năng mạnh, kiểu "siêu quản trị", nhƣng khâu kiểm soát yếu hoặc có lỗi, có thể bị tin tặc lợi dụng. Chẳng hạn, một trong các lỗi điển hình xảy ra ở tính năng PL/SQL gateway của máy chủ web của Oracle (Oracle Application Server). Theo đó, các yêu cầu từ website đƣợc chuyển tới thực hiện trực tiếp bởi các thủ tục trong cơ sở dữ liệu theo dạng:

Ở dạng trên, tin tặc có thể gán giá trị bất kỳ cho các tham số mà không có khâu kiểm tra, hoặc lọc dữ liệu nào. Một dạng lợi dụng khác là lợi dụng tính năng cho phép ngƣời quản trị chạy trực tiếp các câu truy vấn đề thực hiện các câu lệnh SQL tùy ý:

3.1.1.3. Liệt kê nội dung thư mục

Hình 3.4.Nội dung một thư mục của website được liệt kê

Khi máy chủ web nhận đƣợc yêu cầu truy nhập là 1 thƣ mục, các hành động sau có thể đƣợc thực hiện:

- Nếu trong thƣ mục tồn tại trang ngầm định (index.html, default.htm,...), trang ngầm định đƣợc gửi cho trình duyệt;

68 + Trả về thông báo lỗi mã 403 (cấm truy nhập) nếu không cho phép liệt kê thƣ

mục;

+ Trả về danh sách các file trong thƣ mục nếu cho phép liệt kê thƣ mục, nhƣ kết quả cho trên Hình 3.4.

Do nhiều file, hoặc thƣ mục có thể đƣợc cấu hình quyền truy nhập không phù hợp, việc cho phép duyệt nội dung thƣ mục, có thể giúp tin tặc tìm kiếm các thông tin hữu ích hỗ trợ tấn công.

3.1.1.4. Các phương thức nguy hiểm

Ngoài các phƣơng thức chuẩn gồm GET và POST, máy chủ web còn cung cấp một số phƣơng thức đƣợc coi là "nguy hiểm" và cần hạn chế sử dụng, nhƣ:

- PUT: cho phép tải các file lên máy chủ;

- DELETE: cho phép xóa một tài nguyên (file/thƣ mục) - COPY: cho phép sao chép một tài nguyên

- MOVE : cho phép chuyển vị trí một tài nguyên - SEARCH: cho phép tìm kiếm trên các file/thƣ mục.

Một phần của tài liệu Bài giảng An toàn ứng dụng web và cơ sở dữ liệu: Phần 1 (Trang 66 - 69)