DVWA, XSS, XSS Stored, Уязвимости

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

Здравствуйте, дорогие друзья. Продолжаем рассматривать уязвимости DVWA, и в сегодня остановимся на XSS (Stored) среднего уровня настроек безопасности.

Для начала сбросим базу данных, для того, чтобы не появлялось всплывающее окно с выводом сообщения. Мы это делали в предыдущем уроке, когда рассматривали ту же уязвимость, только на уровне «Low»:

сброс базы данных

Все просто; жмем кнопку «Create / Reset Database», и сброс осуществляется автоматически. Далее нам нужно выставить настройки безопасности на «Medium»:

настройки безопаснсти medium

Теперь мы можем переходить на вкладку «XSS (Stored)». Видим те же поля для ввода имени и сообщения гостевой книги.

Просмотрим исходный код данной страницы. Это, как обычно, скрипт на языке программирования PHP:

исходный код уязвимости

Скрипт состоит из пяти частей, как и в предыдущем примере, на низком уровне настроек безопасности. В поле «message» существует функция «htmlspecialchars», которая преобразует специальные символы в HTML сущности. Так что код на JavaScript мы не сможем выполнить в данном поле.

В поле «name» существует функция «str_replace», которая заменяет все вхождения строки поиска на строку замены.

Иными словами, для нас актуально будет обойти фильтрацию, и внедрить код JS в поле «name», например, при помощи хитрого трюка.

Но, прежде, чем мы перейдем к описанию данного способа обхода фильтра, нам нужно увеличить ввод количества символов в поле «name». Это делается с помощью средств разработки Mozilla Firefox. Жмем на правую клавишу мыши, и выбираем «Inspect Element»:

Inspect Element Mozilla

Ищем поле «Name» в html кодировке. Это тег <input>, и в нем меняем максимальное количество длины строки «maxlength», к примеру на 100 символов, чтобы мы смогли внедрить наш код:

меняем максимальное количество символов строки maxlength

Отлично. Теперь в поле «Message» вводим произвольный текст, а в поле «Name» будем прописывать скрипт: «<scr<script>ipt>alert(‘Stored_XSS’)</scr<script>ipt>»:

вывод всплывающего окна stored XSS

Это был всего лишь единичный пример использования данного кода. Я взял его для наглядности. Вы же можете погуглить и найти сотни таких примеров в сети.

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

#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).