в тексте блока новостей на главной странице.Именно этот факт и обуславливает наличие критической уязвимости, которая может быть использована, как возможность для организации XSS-атак. Сама атака, в данном случае, активизируется при наведении курсора мышки на определенную область страницы и дальнейшего кликания по ней, но, в таком случае, возникает проблема.
По сути, в одном случае, ссылка, которая хранится на сервере является активной. Иными словами, она уже внедрена и находится на сервере, однако, понятно, что для того, чтобы атака активировалась нужны соответствующие действия пользователя и, таким образом, атака является пассивной.
Получается, что в каком-то смысле XSS атаки являются одновременно активными и пассивными, что и обуславливает необходимость их классификации по таким критериям как:
- — способ воздействия;
- — вектор воздействия.
Вместе с тем, данная классификация требует отдельного пояснения.
Во-первых, XSS это межсайтовый скриптинг, что образовано от английского выражения «Cross site script» и если речь идет об активном скриптинге, то каких-либо дополнительных действий от пользователя не требуется, поскольку атака активируется сама по себе. Однако, если речь идет о пассивном скриптинге, то пользователь, зачастую не зная о наличии вредоносного вируса, активирует атаку посредством каких-либо действий.
И, таким образом, мы переходим к вопросу вектора воздействия. По данному критерию межсайтовый скриптинг делится на отраженный, то есть он возвращается сервером в ответ на запросы, или же является устойчивым, то есть хранится на сервере, основываясь на объектной модели документов.
Следовательно, приведенный ранее нами пример может быть признан «устойчивой-пассивной» XSS-атакой. Обратим внимание на зарубежную литературу, которая признает немного иную классификацию межсайтового скриптинга.
Так, существует «классический скриптинг» (XSS), который является наиболее распространенной моделью атак, поскольку сервер, в данном случае, обладает неконстантной уязвимостью, а если серверные скрипты недостаточно тщательно фильтруют переданные им параметры, то само тело XSS-вектора попадет в результирующий HTML, CSS либо javascript-код, а уже оттуда, непосредственно, в браузер пользователя.
Второй разновидностью межсайтового скриптингя является «персистирующий XSS», который в понимании отечественных исследователей является ничем иным, как обычным активным XSS. По сути, такой вид атаки напрямую связан с перманентными размещениями параметров скрипта, которые передаются злоумышленниками на сервера и в базы данных, которые на них размещены с последующим негативным воздействием на программное обеспечение всех посетителей сайта.
Отметим, что по сравнению с предшествующими версиями и типами XSS атак данная модель обладает рядом преимуществ. Например, во время ее использования не нужно рассылать данные пользователю, поскольку все производится посредством сервера. Также, данный вид скриптинга позволяет генерировать XSS-червей, которые будут активированы каждым конкретным посетителем интернет-ресурсов и будут ими размещаться на других ресурсах в автоматическом режиме.
В обоих версиях классификации XSS есть общий тип XSS-атак — это так называемый «XSS через DOM». В этой модели уязвимость сайта заключается в том, что не серверный скрипт, а именно клиентский javascript извлекает данные из URL страницы и внедряет их в HTML страницы через объекты Document Object Model (DOM, отсюда и название модели атаки). Уязвимость сайта находится в HTML или javascript-файлах, и как только пользователь открывает ссылку, содержащую XSS-вектор злоумышленника, содержимое страницы изменяется и в нее уже непосредственно на системе клиента внедряется код из тела вектора.
Все данные приведены ниже в таблице 3.
Таблица 3 — Классификация XSS атак.