DVWA, Insecure Captcha, Уязвимости

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

Здравствуйте, дорогие друзья. Продолжаем рассматривать уязвимости DVWA, и сегодня остановимся на Insecure CAPTCHA уровня «Low».

Наша задача будет заключаться в том, чтобы обойти ввод каптчи на странице изменения пароля в приложении.

Для начала перейдем на страницу входа в приложение, прописав адрес в строке URL как: «localhost/dvwa», и далее выставим настройки безопасности на низкие:

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

Перейдем на страницу «Insecure CAPTCHA» и видим поля для ввода нового пароля и каптчи, подтверждающей изменения на странице.

Введем произвольный пароль и пропустим ввод каптчи:

ввод произвольного пароля и пропуск ввода каптчи

Видим вывод некорректного ввода каптчи. Нужно повторить.

Теперь протестируем ввод того же произвольного пароля, только на этот раз введем каптчу:

тестируем ввод произвольного пароля, но со вводом каптчи

Жмем кнопку «Change», и нас перебрасывает на страницу для подтверждения ввода каптчи:

Жмем кнопку «Change», и нас перебрасывает на страницу для подтверждения ввода каптчи

Еще раз жмем кнопку «Change», и мы получаем вывод успешного изменения пароля:

жмем кнопку change еще раз, и мы получаем вывод успешного изменения пароля

Отлично. Страница работает корректно.

Предлагаю теперь посмотреть исходники данной страницы. Это кнопка «view source» внизу справа:

view source

На самом деле скрипт, который написан на языке программирования php, состоит из двух частей:

скрипт на php состоит из двух частей

Вкраце, что делает этот скрипт можно прочитать даже по комментариям в коде. Если параметр ‘step’ будет равен 1, то вводится и повторяется пароль, а после этого проверяется каптча с приватным ключом. Мы видим, что это будет происходить в случае обычного ввода данных и проверки каптчи.

Наша задача будет заключаться в том, чтобы обойти ввод каптчи. Смотрим далее на скрипт, и видим второй шаг:

второй шаг скритпа на php

Тут уже нет проверки каптчи, а принимаются входные данные в виде паролей, и нет вывода поля для ввода каптчи (оно скрыто).

Далее нам нужно воспользоваться инструментом BurpSuite, чтобы перехватить соединение и отредактировать в нем некоторые параметры.

Для этого запускаем Burp, и коннектим его с браузером. В браузере у меня предустановлено расширение «FoxyProxy», с помощью которого я в один клик меняю настройки прокси:

foxyproxy

В BurpSuite также выставляем интерфейс 127.0.0.1 и порт 8001:

коннектим burpsuite c браузером

Теперь вновь вводим пароль и повторяем его на странице ввода каптчи, и нас перебрасывает в интерфейс BurpSuite, где нас будет интересовать параметр «step»:

параметр step

Редактируем его, изменив на цифру «2», и жмем кнопку «Forward»:

password changed

Как видим, пароль был изменен.

Можно проверить это, выйдя из приложения, и повторно зайдя вновь в него:

проверка пароля на корректность

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

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