Вы находитесь на странице: 1из 8

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

КЫРГЫЗСКОЙ РЕСПУБЛИКИ
КЫРГЫЗСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ им. И.Раззакова

ИНСТИТУТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

Кафедра: Программное обеспечение компьютерных систем

ОТЧЕТ
Дисциплина: Проектирование и обеспечение безопасности ПО 2
Лабораторная работа №4

Выполнила: Байташев Бекназар ПИ-2-21


Проверила: Ашымова А.Ж.
Reflected XSS
Уязвимость веб-приложения, известная как "Reflected XSS" (межсайтовый скриптинг),
позволяет злоумышленникам внедрять вредоносный JavaScript на веб-страницу и
выполнить его на браузере пользователя. В этом случае, уязвимость исходит из возврата
клиенту данных, переданных им самим, вредоносным образом. Процесс выглядит
следующим образом:
Мел - хакер, заметивший, что ваш сайт передает поисковые запросы в URL. Он знает, что
эти поисковые запросы будут отображены на странице с результатами поиска, и ему
интересно, как они обрабатываются. Чтобы проверить это, он создает URL с куском
JavaScript в параметре "storage" (хранилище).

Рисунок 1
И, действительно, когда он вставляет этот URL в свой браузер, внедренный JavaScript
выполняется, и браузер перенаправляется на его вредоносный сайт.

Рисунок 2
Теперь ему нужно обмануть кого-то, чтобы тот перешел по этой ссылке, кого-то вроде
VIC. Mel отправляет VIC письмо с очень заманчивой ссылкой, указывающей на
созданный URL.
Рисунок 3
Vic переходит по ссылке, и страница отображает параметр поиска в HTML без должной
экранизации, что создает новый тег <script> на этой странице. Этот скрипт выполняется
немедленно при загрузке страницы, и Vic перенаправляется на вредоносные веб-
сайты.Mel смог хакнуть сайт.

Рисунок 4
Теперь Mal может проверить свой журнал сервера и захватить сеанс Vic, поскольку
злонамеренное перенаправление вставило его идентификатор сеанса в URL.

Рисунок 5
Тест для самопроверки:
Рисунок 6 Тест
Визуализация:

Рисунок 7
Заключение: Уязвимость Reflected XSS представляет серьезную угрозу безопасности веб-
приложений, где злоумышленник может внедрить и выполнять произвольный JavaScript
на стороне клиента. Это происходит за счет недостаточной фильтрации и экранирования
входных данных, которые затем отображаются на веб-странице. Защита от Reflected XSS
заключается в строгой проверке и экранировании входных данных, а также в
использовании Content Security Policy (CSP) для ограничения выполнения вредоносного
JavaScript.
2)DOM-Based XSS (кросс-сайтовый скриптинг, ориентированный на DOM) - это
уязвимость веб-приложений, которая возникает, когда злоумышленники могут внедрять
вредоносные скрипты, которые затем выполняются в браузере пользователя. Эта
уязвимость обусловлена недостаточной обработкой или фильтрацией данных,
передаваемых в приложение, и может привести к серьезным последствиям, таким как
кража сессионных данных, перехват паролей и другие вредоносные действия.
Цель: Целью данного отчета является рассмотрение уязвимости DOM-Based XSS,
описание ее механизмов и путей эксплуатации, а также предоставление рекомендаций по
предотвращению этой угрозы.
На примере нашего веб-сайта видно, что используется бесконечная прокрутка страницы.
Содержимое динамически загружается по мере прокрутки вниз. Обратите внимание, что
фрагмент URI используется для отслеживания положения прокрутки. Это делается для
того, чтобы если пользователь уходит со страницы и затем нажимает кнопку "назад", сайт
может загрузить их последнее положение.

Рисунок 8
Однако существует уязвимость в том, как интерпретируется фрагмент URI сайтом. Сайт
обновляет номер страницы напрямую из фрагмента URI без проверки содержимого.
Рисунок 9
Это означает, что злоумышленник может создать URL с вредным JavaScript в фрагменте
URI. И когда кто-то обманывается и посещает этот URL, JavaScript будет выполнен в их
браузере.

Рисунок 10
Для защиты от атак на основе DOM-based XSS следует принимать следующие меры:
1. Использование JavaScript-фреймворков, таких как AngularJS и React, которые
способствуют безопасному созданию и обработке HTML-кода.

2. Осторожное обращение с кодом, который привязывает динамический контент к


innerHTML-атрибуту или использует dangerouslySetInnerHTML (в случае React).
Подразумевается экранирование данных.

3. Регулярная проверка JavaScript-кода для обнаружения упоминаний


window.location.hash и контроль соответствия стандартам кодирования.
4. Избегание использования собственных API-интерфейсов DOM, которые могут
уязвимо обрабатывать фрагменты URI.

5. Рассмотрение внедрения политики безопасности контента (Content Security Policy)


в заголовки ответов сервера. Это позволяет ограничить, откуда может загружаться
и выполняться JavaScript на странице.

6. Использование отчетов о нарушениях CSP для постепенного перехода от


встроенных скриптов к более безопасным методам.

Защита от атак на основе DOM-based XSS включает в себя как технические меры
(контроль и экранирование данных), так и организационные (установка политики
безопасности контента и обучение разработчиков лучшим практикам).
Обратите внимание, что уязвимость на основе DOM XSS не может быть обнаружена со
стороны сервера, поэтому важно применить меры предосторожности на стороне клиента и
в коде приложения.
Тест на самопроверку:

Визуализация:
Рисунок 11 Тест
Рисунок 12

Заключение: Уязвимость DOM-based XSS возникает, когда JavaScript интерпретирует


фрагменты URI небезопасным образом. Эта уязвимость остается незамеченной на стороне
сервера и затрагивает клиентскую сторону. Защита заключается в строгой проверке кода,
который использует фрагменты URI, использовании современных фреймворков, и
установке политики безопасности контента с помощью Content Security Policy (CSP).

Вам также может понравиться