В этой статье мы разберём что такое XSS атака и как от неё защитится, статья будет не очень большая но зато интересной.
Также посмотрите статью «Защита формы на языке программирования PHP», там будет раздел про то, как защитится от XSS.
Что такое XSS:
Как понятно из заголовка, это один из типов атак на сайт, XSS сокращение от Cross-Site Scripting, на русском «межсайтовый скриптинг», тут стоит сказать, что у него такое сокращение, что бы люди не путали с CSS.
Самое главное что стоит знать, это что на данный момент такой тип атак считается седьмым по в рейтинге самых сильных уязвимостей по версии OWASP, также если вы читаете эту статью на много позже 2020 года, то всё может изменится, что бы узнать место, перейдите по ссылке.
Как работает XSS:
Теперь разберём подробнее, что это такое, если кратко говоря, то XSS атака это когда встраивают вредоносный код прямо в клиентскую часть сайта.
Сделать это можно несколькими способами, один из которых взломать сервер и уже туда встроить этот код, второй, это через форму на сайте, например через комментарии.
Также ещё бывает когда жертве отправляют ссылку на страницу вредоносным кодом, и там уже злоумышленник берёт и делает всё что ему надо.
Наиболее уязвимые места в программу это cookie и различные данные в ней, их нужно защищать в первую очередь.
Классификация XSS атак:
Давайте разберём классификацию такого типа атак подробнее.
Отражённые (непостоянные):
Атака, основанная на отражённой уязвимости, на сегодняшний день является самой распространенной XSS-атакой. Эти уязвимости появляются, когда данные, предоставленные веб-клиентом.
Чаще всего в параметрах HTTP-запроса или в форме HTML, исполняются непосредственно серверными скриптами для синтаксического анализа и отображения страницы результатов для этого клиента без надлежащей обработки. Отражённая XSS-атака срабатывает, когда пользователь переходит по специально подготовленной ссылке.
Хранимые (постоянные):
Хранимый XSS является наиболее разрушительным типом атаки. Хранимый XSS возможен, когда злоумышленнику удается внедрить на сервер вредоносный код, выполняющийся в браузере каждый раз при обращении к оригинальной странице. Классическим примером этой уязвимости являются форумы, на которых разрешено оставлять комментарии в HTML-формате без ограничений, а также другие сайты Веб 2.0.
DOM-модели:
XSS в DOM-модели возникает на стороне клиента во время обработки данных внутри JavaScript-сценария. Данный тип XSS получил такое название, поскольку реализуется через DOM — не зависящий от платформы и языка программный интерфейс, позволяющий программам и сценариям получать доступ к содержимому HTML и XML-документов, а также изменять содержимое, структуру и оформление таких документов.
Защита от XSS:
Последние что мы разберём, это то, как защитить данные от этого типа атак.
Во первых нужно просто фильтровать все данные которые приходят к вам на сервер, во вторых, если мы говорим про ссылки, то предупреждать пользователей о вредоносной ссылки, это можно понять по протоколу, HTTP или HTTPS, обязательно нужен второй.
Ну и конечно нужно защищать свой сервер, чтобы не было внутренних проникновений в него.
Вывод:
В этой статье вы прочитали что такое XSS атака, какие типы есть, и самое главное, как от них защитится.