XSS (Cross-Site Scripting) — ін'єкція шкідливого JavaScript у сторінку, яку переглядають інші користувачі. Скрипт виконується в браузері жертви з правами поточного сайту: може красти cookie, перехоплювати натискання клавіш, робити запити від імені користувача.
Типи
Reflected — скрипт у URL, відображається в одній відповіді. Потребує обману жертви натиснути посилання
Stored — скрипт збережений у БД (коментар, ім'я профілю) і показується всім відвідувачам. Найнебезпечніший
DOM-based — маніпуляція DOM через JavaScript без участі сервера
Захист
Екранування виводу — перетворюйте спецсимволи HTML у сутності: < → <. У PHP — htmlspecialchars(), у шаблонізаторах — автоматичне екранування через подвійні дужки
Content Security Policy — HTTP-заголовок, що забороняє виконання inline-скриптів і скриптів зі сторонніх доменів
Ніколи не виводьте сирий HTML від користувача без санітизації через спеціалізовані бібліотеки (HTML Purifier тощо)