31
XSS атаки могут быть осуществлены следующим образом:
атакер помещает вредоносный код на взломанны WEB-сайт;
пользователь посещает это WEB-сайт и предоставляет свое куки;
WEB-сайт позволяет пользователю авторизоваться;
вредоносный код посылает куки пользователя атакеру.
Необходимый уровень защиты Web-серверов от XSS атак с точки
зрения показателей целостности, доступности и конфиденциальности
информации обеспечивают следующие средства (методы, способы) защиты:
1. Защита на стороне сервера включает в себя следующие
возможные варианты:
кодирование управляющих HTML - символов, JavaScript, CSS и
URL перед отображением в браузере. Для фильтрации входных параметров
можно использовать следующие функции: filter _ sanitize _ encoded (для
кодирования URL), htmlentities (для фильтрации HTML);
кодирование входных данных. Например, с помощью библиотек
OWASP Encoding Project, HTML Purifier, Anti - XSS Class;
регулярный ручной и автоматизированный анализ безопасности
кода и тестирование на проникновение с использованием таких
инструментов, как: Nessus, Nikto Web Scanner и OWASP Zed Attack Proxy;
указание кодировки на каждой web - странице (например, ISO -
8859 - 1 или UTF - 8) до каких - либо пользовательских полей;
обеспечение безопасности cookies, которая может быть
реализована путём ограничения домена и пути для принимаемых cookies,
установки параметра HttpOnly, использованием SSL;
использование заголовка Content Security Policy, позволяющего
задавать список, в который заносятся желательные источники, с которых
можно подгружать различные данные, например, JS, CSS, изображения.