Content Security Policy (Bypass), DVWA, Уязвимости

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

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

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

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

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

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

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

настройки безопасности dvwa - low

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

Вы можете включить скрипты из внешних источников, изучить Политику безопасности контента и ввести URL-адрес, который нужно включить сюда

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

вводим стандартный скрипт для вывода всплывающего окна

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

View Source

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

исходный код страницы

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

alert("pastebin");

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

alert(“CSP- Bypass_Low”);

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

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

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

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

#1 Уязвимость DVWA. SQL-Injection (уровень Low).

#2 Уязвимость DVWA. Brute Force (Уровень Low).

#3 Уязвимость DVWA — File Upload (Уровень Low).

#4 Уязвимость DVWA. File Upload (Уровень Medium).

#5 Уязвимость DVWA File Upload (Уровень High).

#6 Уязвимость DVWA. Brute Force (Уровень Medium).

#7 Уязвимость DVWA. Command Execution (Уровень Low).

#8 Уязвимость DVWA. Command Execution (Уровень Medium).

#9 Уязвимость DVWA. CSRF (Уровень Low).

#10 Уязвимость DVWA. CSRF (Уровень Medium).

#11. Уязвимость DVWA — (Local File Inclusion). Уровень Low.

#12 Уязвимость DVWA. LFI (Local File Inclution) — Уровень Medium.

#13 Уязвимость DVWA LFI — Local File Inclusion (Уровень High).

#14 Уязвимость DVWA. Command Execution (Уровень High).

#15 Уязвимость DVWA. SQL-Injection (Уровень Medium).

#16 Уязвимость DVWA — Brute Force (Уровень High).

#17 Уязвимость DVWA. SQL-Injection (Уровень High).

#18 Уязвимость DVWA. CSRF (Уровень High).

#19 Уязвимость DVWA. JavaScript — Уровень «Low».

#20 Уязвимость DVWA. JavaScript — уровень «Medium».

#21 DVWA — reCAPTCHA (API key missing).

#22 Уязвимость DVWA. Insecure Captcha (уровень Low).

#23 Уязвимость DVWA. Insecure Captcha (уровень Medium).

#24 Уязвимость DVWA. Insecure Captcha (уровень «High»).

#25 Уязвимость DVWA. XSS DOM (Уровень Low).

#26 Уязвимость DVWA. XSS DOM (уровень Medium).

#27 Уязвимость DVWA. XSS DOM — (уровень High).

#28 Уязвимость DVWA. XSS (Reflected) — (уровень Low).

#29 Уязвимость DVWA. XSS (Reflected) — (уровень Medium).

#30 Уязвимость DVWA. XSS (Reflected) — уровень (High).

#31 Уязвимость DVWA. XSS (Stored) — уровень (Low).

#32 Уязвимость DVWA. XSS (Stored) — уровень (Medium).

#33 Уязвимость DVWA. XSS (Stored) — уровень (High).