XSS‑атаки — это внедрение в страницу вредоносного кода, который будет выполнен на компьютере пользователя при открытии им этой страницы.
Как правило, вредоносный код нацелен на аутентифицированных пользователей и использует авторизацию в веб‑системе для получения к ней расширенного доступа. Еще одна разновидность использования — кража реквизитов доступа (логинов и паролей). XSS‑атака может быть осуществлена как как через уязвимость приложения или веб‑сервера, так и через уязвимость на компьютере конечного пользователя. Использование XSS‑атак весьма популярно, они занимают первое место среди всех типов атак на веб‑системы.
XSS‑уязвимости очень опасны: злоумышленник может получить доступ к данным на странице или в сookies (если они без цифровых подписей и без привязки к IP), а там вполне могут быть весьма ценные данные (например, идентификатор сессии с административным доступом к системе или номера платёжных карт). Также, если нет защиты от CSRF, атакующий может выполнить любые действия, доступные пользователю и сделать это от его имени (например,перевести средства, рассылать спам и т.п.). На популярных сайтах XSS‑уязвимости могут быть использованы для DDoS‑атак либо на сам сервис, либо на какой‑либо другой ресурс.
Наиболее часто эксплуатируются такие уязвимости на сайтах, где пользователи могут публиковать свой контент, делая его доступным для других. Злоумышленник, при отсутствии должной фильтрации, может либо напрямую использовать уязвимость, либо заражать браузеры пользователей. Разработчики, для предотвращения атак этого типа, должны либо просто ограничивать возможности пользователей публиковать на сайте что‑либо, либо тщательно фильтровать поступающие от пользователей данные.