Mục tiêu tấn công của XSS không hƣớng đến máy chủ hệ thống mà nhằm vào những ngƣời sử dụng Website, khi ngƣời dùng vơ tình duyệt trang Web có chứa các đoạn mã nguy hiểm do các kẻ tấn cơng tạo ra nhằm mục đích chuyển ngƣời dùng tới các Website khác, đặt lại Homepage, hay ăn cấp mất mật khẩu, cookie hoặc cài các chƣơng trình mã độc nhƣ virus, backdoor, worm, … lên máy nạn nhân
Kỹ thuật tấn công XSS chỉ gây thiệt hại đối với Web Client ở phía ngƣời dùng
trong đó nạn nhân trực tiếp là ngƣời dùng duyệt trang Web đó. Nguyên nhân của vấn đề này là do kỹ thuật tấn công XSS sử dụng client-side script, và những đoạn mã này chỉ chạy trên trình duyệt phía client do đó XSS khơng làm ảnh hƣởng đến hệ thống Website ở phía server.
2.1.2.2 Các kỹ thuật tấn công XSS
XSS là kỹ thuật tấn cơng bắt buộc trình duyệt Web của ngƣời dùng thực thi mã độc hại. Thông thƣờng mã độc hại này đƣợc viết bằng HTML hoặc JavaScript và kẻ tấn cơng thực thi trong trình duyệt Web của ngƣời dùng mà không phải trên server. Kẻ tấn công chỉ sử dụng các trang Web tin cậy để thực hiện hành vi của họ và ngƣời dùng là nạn nhân trong các cuộc tấn công này. Khi kẻ tấn cơng kiểm sốt đƣợc các luồng (thread) điều khiển trong trình duyệt Web của ngƣời dùng, thì họ có thể thực hiện các hành động nhƣ: Account hijacking, keystroke recording, intranet hacking, đánh cắp history của ngƣời dùng,… Kỹ thuật tấn cơng XSS có thể đƣợc phân loại nhƣ sau:
a) Reflected XSS
Ví dụ rất phổ biến của lỗi XSS xảy ra khi ứng dụng Web sử dụng trang Web động để hiển thị message hay thông báo lỗi tới ngƣời dùng. Thông thƣờng, các trang này chứa tham số trong chuỗi văn bản của thông điệp, và server chỉ đơn giản gửi văn
bản này tới ngƣời dùng. Cơ chế này thuận tiện cho những nhà phát triển, bởi vì nó cho phép họ gọi trang lỗi đã đƣợc tùy biến từ bất cứ đâu trong ứng dụng mà không cần các thông điệp hard-code riêng lẻ trong trang báo lỗi. Ví dụ: URL sau sẽ trả lại thơng điệp lỗi nhƣ hình 2.3 dƣới đây:
https://wahh-app.com/error.php?message=Sorry%2c+an+error+occurred