#32 Уязвимость DVWA. XSS (Stored) — уровень (Medium).
Здравствуйте, дорогие друзья. Продолжаем рассматривать уязвимости DVWA, и в сегодня остановимся на XSS (Stored) среднего уровня настроек безопасности.
Для начала сбросим базу данных, для того, чтобы не появлялось всплывающее окно с выводом сообщения. Мы это делали в предыдущем уроке, когда рассматривали ту же уязвимость, только на уровне «Low»:
Все просто; жмем кнопку «Create / Reset Database», и сброс осуществляется автоматически. Далее нам нужно выставить настройки безопасности на «Medium»:
Теперь мы можем переходить на вкладку «XSS (Stored)». Видим те же поля для ввода имени и сообщения гостевой книги.
Просмотрим исходный код данной страницы. Это, как обычно, скрипт на языке программирования PHP:
Скрипт состоит из пяти частей, как и в предыдущем примере, на низком уровне настроек безопасности. В поле «message» существует функция «htmlspecialchars», которая преобразует специальные символы в HTML сущности. Так что код на JavaScript мы не сможем выполнить в данном поле.
В поле «name» существует функция «str_replace», которая заменяет все вхождения строки поиска на строку замены.
Иными словами, для нас актуально будет обойти фильтрацию, и внедрить код JS в поле «name», например, при помощи хитрого трюка.
Но, прежде, чем мы перейдем к описанию данного способа обхода фильтра, нам нужно увеличить ввод количества символов в поле «name». Это делается с помощью средств разработки Mozilla Firefox. Жмем на правую клавишу мыши, и выбираем «Inspect Element»:
Ищем поле «Name» в html кодировке. Это тег <input>, и в нем меняем максимальное количество длины строки «maxlength», к примеру на 100 символов, чтобы мы смогли внедрить наш код:
Отлично. Теперь в поле «Message» вводим произвольный текст, а в поле «Name» будем прописывать скрипт: «<scr<script>ipt>alert(‘Stored_XSS’)</scr<script>ipt>»:
Это был всего лишь единичный пример использования данного кода. Я взял его для наглядности. Вы же можете погуглить и найти сотни таких примеров в сети.
На этом все. Всем хорошего дня!
#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).