A7: Lỗ hổng CrossSite Scripting XSS

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu các kỹ thuật kiểm thử bảo mật ứng dụng web (Trang 25 - 26)

- Tổng quan

XSS là một thuật ngữ được sử dụng để mô tả một lớp các cuộc tấn công cho phép kẻ tấn công chèn các tập lệnh phía máy khách thông qua trang web vào trình duyệt của những người dùng khác. Kẻ tấn công chèn các đoạn mã JavaScript vào ứng dụng web. Khi đầu vào này không được lọc, chúng sẽ được thực thi mã độc trên trình duyệt của người dùng.

- Những lý do lỗi XSS nguy hiểm:

 Các lỗ hổng XSS trong lịch sử phổ biến hơn bất kỳ mối đe dọa bảo mật nào khác trên ứng dụng web hiện tại.

 Lỗi này khó để nhận diện và khắc phục. Do trên trang web có rất nhiều tham số, để quản lý hết tất cả các tham số rất khó. Kẻ tấn công chỉ cần khai thác thành công một trong những tham số đó thì có thể chèn mã độc vào tham số đó.

 Có thể đánh cắp thông tin, ID phiên làm việc, lấy được cookie của người dùng trên hệ thống hoặc lừa người dùng đến các trang web độc hại. Khi kẻ tấn công có cookie, họ có thể đăng nhập vào một trang web như thể họ là

người dùng và làm bất cứ điều gì người dùng có thể, chẳng hạn như truy cập chi tiết thẻ tín dụng của họ, xem chi tiết liên hệ hoặc thay đổi mật khẩu.

- Phòng chống

XSS là một lỗ hổng rất phổ biến và rất nguy hiểm đối với người dùng hệ thống. Đối với các dữ liệu được nhận từ người dùng, khi thực hiện việc hiển thị ta cần mã hóa tất cả các giá trị được in ra. Khi đó các đoạn mã độc sẽ không thể thực thi được. Trong các ngôn ngữ lập trình đều có các hàm hỗ trợ việc mã hóa dữ liệu này. Ví dụ như:

 Hàm htmlentities() – trong ngôn ngữ PHP

 Hàm htmlEncode() – trong ngôn ngữ C#

Trong jsp cung cấp cú pháp: ${specialCharString} để thực hiện mã hóa html tag.

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu các kỹ thuật kiểm thử bảo mật ứng dụng web (Trang 25 - 26)

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

(76 trang)