Найти в Дзене

#34 Уязвимость DVWA. Content Security Policy (Bypass)- Уровень (Low)

Здравствуйте, дорогие друзья.

Продолжаем рассматривать уязвимости DVWA, и сегодня остановимся на Content Security Policy на низком уровне настроек безопасности.

(CSP) или политика защиты контента представляет собой механизм, который встроен в браузеры, и позволяющий защититься от XSS-атак.

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

Механизм также дает описание браузеру источники загрузки ресурсов, что безопасно. Источники могут быть в виде JS, стилей, изображений, фреймов.

С теорией все, и для начала выставим настройки на «Low»:

-2

Открываем страницу «CSP Bypass», и видим поле для ввода данных, а также описание, что нужно делать с данным полем. Запись имеет перевод: «Вы можете включить скрипты из внешних источников, изучить Политику безопасности контента и ввести URL-адрес, который нужно включить сюда»:

-3

Начнем тестировать, и попробуем ввести стандартный скрипт, с выводом всплывающего окна и сообщения: «<script>alert(‘CSP_Bypass’)</script>»:

-4

Жмем кнопку «Include», и ничего не происходит. Страница работает корректно и фильтрует наш скрипт, у которого нет шансов на выполнение.

Давайте рассмотрим исходный код данной страницы. Это кнопка «View Source» внизу справа:

-5

В появившемся окне видим скрипты на языке программирования PHP:

-6

Обратите внимание на ссылку во втором комментарии. Можно перейти по ней, предварительно скопировав. После чего в адресной строке URL вставляем скопированный адрес, и видим вывод:

-7

Думаю, Вы догадались, что происходит. Если нет, то суть в том, что данный сайт преобразует исходный код (в данном случае на JavaScript), в кликабельную ссылку, которую можно внедрить на уязвимой странице.

Предлагаю создать собственную. Для этого переходим по адресу: «https://pastebin.com/», и вводим код. У меня он выглядит как: «alert(“CSP- Bypass_Low”)»:

-8

Нужно нажать на кнопку «raw» и мы генерируем новую ссылку для вставки на страницу:

-9

Отлично. Теперь осталось ввести данную ссылку в поле для ввода на уязвимой странице, и мы получим вывод всплывающего окна.

На этом все. Всем хорошего дня!