Здравствуйте, дорогие друзья.
Продолжаем рассматривать уязвимости DVWA, и сегодня остановимся на XSS (Reflected), среднего уровня настроек безопасности.
Для начала выставим настройки на «Medium»:
Переходим на вкладку «XSS (Reflected)», и видим поле для ввода имени:
Протестируем работу страницы, и введем какое-либо имя. У меня это «Mikhail»:
Страница работает корректно. Повторим действия по вводу скрипта, исходя из уровня «Low». Код будет выглядеть как: «<script>alert(‘XSS_Reflected’)</script>»:
Как видим, теги скрипт фильтруются на сервере, и мы не можем проэксплуатировать данную уязвимость, с помощью этого скрипта на JavaScript.
Посмотрим на исходники страницы:
Код достаточно простой, и мы видим условный оператор «if», который принимает данные на ввод, и, если ввод получен, то функцией «str_replace» отбрасываются теги <script>.
Этот фильтр достаточно не сложно обойти. Нужно лишь немного видоизменить теги скрипта на несколько заглавных букв. Например: «<sCript>alert(‘XSS_Reflected’)</scRipt»:
Отлично. Мы обошли данную фильтрацию, и успешно проэксплуатировали уязвимости на странице, получив всплывающее окно с текстом «XSS_Reflected».
На этом все. Всем хорошего дня!