XSS — атаки на веб-системы типа «межсайтовый скриптинг»

XSS-атаки — это внедрение в страницу вредоносного кода, который будет выполнен на компьютере пользователя при открытии им этой страницы.

Как правило, вредоносный код нацелен на аутентифицированных пользователей и использует авторизацию в веб-системе для получения к ней расширенного доступа. Еще одна разновидность использования — кража реквизитов доступа (логинов и паролей). XSS-атака может быть осуществлена как как через уязвимость приложения или веб-сервера, так и через уязвимость на компьютере конечного пользователя. Использование XSS-атак весьма популярно, они занимают первое место среди всех типов атак на веб-системы.

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

Наиболее часто эксплуатируются такие уязвимости на сайтах, где пользователи могут публиковать свой контент, делая его доступным для других. Злоумышленник, при отсутствии должной фильтрации, может либо напрямую использовать уязвимость, либо заражать браузеры пользователей. Разработчики, для предотвращения атак этого типа, должны либо просто ограничивать возможности пользователей публиковать на сайте что-либо, либо тщательно фильтровать поступающие от пользователей данные.

Cтатьи по теме:

Язык разметки HTML, таблицы стилей CSS и язык JavaScript
Содержание и внешний вид каждой страницы сайта определяется HTML-кодом и содержанием таблицы стилей CSS, а поведение интерфейса — скриптами JavaScript.
Валидность и семантичность HTML
Валидность и семантичность HTML кода определяет качество сайта с точки зрения поисковых систем.
Адаптивный и отзывчивый дизайн
​Для обеспечения хорошего отображения сайтов на мобильных устройствах (планшетах и смартфонах) обычно создаётся отзывчивый или адаптивный дизайн. Суть подхода заключается в изменении размера и расположения блоков, коррекции размера шрифтов, а также в отключении не самых важных блоков в случае, если пользователь заходит на сайт с устройства с небольшим экраном.
Поддержка устаревших браузеров
Поддержка устаревших браузеров, как правило, накладывает ограничения на функционал и гарантированно увеличивает стоимость разработки и сопровождения.
Кроссбраузерность — корректная работа сайта в разных браузерах
Браузеров много и они несколько по-разному отображают страницы. Способность сайта корректно отображаться в разных браузерах называется кроссбраузерность.
Безопасность сайтов и веб-приложений
​Под безопасностью веб-сервисов, как правило, понимается обеспечение сохранности данных и их недоступность для посторонних лиц, а также способность приложения сохранять работоспособность при кибератаках и не подвергаться заражению вирусами.
HTML5 — новая версия стандарта
HTML — это язык для структурирования и представления содержимого, HTML5 (HyperText Markup Language, version 5) — это пятая версия стандарта, которая ещё находится в разработке, но уже является вполне рабочей. Цель разработки HTML5 — улучшение уровня поддержки мультимедиа-технологий при сохранении удобочитаемости кода для человека и простоты анализа для парсеров (в частности, поисковых систем).

Тематические технологии:

Язык разметки HTML
CSS — каскадные таблицы стилей
Язык программирования JavaScript
Библиотека React
Библиотека MobX
Библиотека MobX State Tree
Система сборки WebPack
Платформа NodeJS