5. CHÈN MÃ LỆNH THỰC THI TRÊN TRÌNH DUYỆT NẠN NHÂN
5.3. Cách phòng chống
Với những dữ liệu, thông tin nhập của ngƣời dùng, ngƣời thiết kế ứng dụng Web cần phải thực hiện vài bƣớc cơ bản sau:
o Tạo ra danh sách những thẻ HTML đƣợc phép sử dụng.
o Xóa bỏ thẻ <script>
o Lọc ra bất kì một đoạn mã JavaScript/Java/VBScript/ActiveX/Flash Related nào.
o Lọc dấu nháy đơn hay kép
o Lọc kí tự Null ( vì khả năng thêm một đoạn mã bất kì sau kí tự Null khiến cho ứng dụng dù đã lọc bỏ thẻ <script> vẫn không nhận ra do ứng dụng nghĩ rằng chuỗi đã kết thúc từ kí tự Null này).
o Xóa những kí tự “ > ”, “ < ”
o Vẫn cho phép nhập những kí tự đặc biệt nhƣng sẽ đƣợc mã hóa theo chuẩn riêng.
Đối với ngƣời dùng, cần cấu hình lại trình duyệt để nhắc nhở ngƣời dùng có cho thực thi ngôn ngữ kịch bản trên máy của họ hay không? Tùy vào mức độ tin cậy mà ngƣời dùng sẽ quyết định.
Nhận xét:
Kĩ thuật XSS khá phổ biến và dễ dàng áp dụng, tuy nhiên mức độ thiệt hại chỉ dừng lại ở mức độ tấn công trên máy nạn nhân thông qua những liên kết hay form lừa đảo mà hacker đƣa đến cho nạn nhân. Vì thế, ngoài việc ứng dụng kiểm tra tính đúng đắn của dữ liệu trƣớc khi sử dụng thì việc cần nhất là ngƣời dùng nên cảnh giác trƣớc khi bƣớc vào một trang Web mới. Có thể nói, nhờ vào sự cảnh giác của ngƣời dùng thì 90% đã đạt đƣợc sự bảo mật trong kĩ thuật này.
Tuy nhiên, trong chƣơng 6, sự tấn công lại nhắm vào máy chủ, nhằm thu thập thông tin trong cơ sở dữ liệu và từ đó giành quyền quản trị ứng dụng.