#15 Уязвимость DVWA. SQL-Injection (Уровень Medium).
Здравствуйте, дорогие друзья. Продолжаем рассматривать тематику уязвимостей DVWA, и в данном уроке поговорим о SQL-инъекциях на среднем уровне настроек безопасности.
Переходим к практике, и перейдем в уязвимое веб-приложение DVWA.
Нам необходимо выставить настройки безопасности на «Medium»:
Далее переходим на вкладку «SQL Injection». Данная страница представляет собой кнопку выбора id, и «submit» для вывода информации:
Нам нужно перехватывать трафик с данной страницы, с помощью инструмента Burp Suite.
Для начала нужно сконнектить BurpSuite с браузером Mozilla Firefox.
Первым шагом мы идем в браузер на верхний правый угол (бургер), и выбираем вкладку «Preferences»:
Скроллим появившуюся страницу в самый низ, и выбираем «Settings», далее жмем на радиокнопку «Manual Proxy Configuration», и выставляем интерфейс как: 127.0.0.1 и порт 8001:
Отлично. Мы настроили браузер для коннекта с BurpSuite. Запускаем данный инструмент и переходим на вкладку выбора интерфейса. Это путь по вкладкам «Proxy», «Options»:
Теперь переходим на вкладку «Intercept» для перехвата трафика:
Отправим запрос в «Repeater» для тестирования на предмет уязвимости. Вставим для начала одинарную кавычку и получаем ошибку синтаксиса:
Вставим такую команду: «1 and 1=1%23»:
Видим вывод кода. Можем также наглядно просмотреть, что происходит на странице с помощью вкладки «Renderer»:
Экспериментируем, и вставим в команде цифру 2. Получим:
В итоге ничего не выводится:
Продолжим исследовать уязвимость, и введем такую команду: «1 order by 10%23»:
Получаем вывод того, что данная колонка не известна приложению.
А если запустим команду со значением «2», то видим корректный вывод:
Попробуем ввести другую запись. Такую как: «1 union select 1,2%23»:
Уже что-то есть. Пробуем дальше, и попытаемся вывести имя базы данных и ее версию, с помощью команды: «1 union select database(), version()%23»:
Все отлично отработало. Мы знаем больше информации о базе данных.
Теперь введем довольно длинную команду, которая включает в себя hex-значение ключевого слова «users». Перейдем в декодер и скопируем данное значение:
Команда будет выглядеть как: «id=1 union select column_name,2 from information_schema.columns where table_name = 0x7573657273%23»:
Теперь давайте попробуем вывести пароли пользователей на данном сайте. Это можно реализовать с помощью команды: «id=1 union select user,password from users%23»:
В итоге мы получили вывод хэшей паролей и имена пользователей.
#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).