Как и обещали, мы продолжаем наши бесплатные уроки. DVWA вы уже установили, а значит можно переходить к самому интересному - практике!
Всем салют, дорогие друзья!
Во-первых благодарим вас за активность 🔥
Как и обещали, мы продолжаем наши бесплатные уроки. DVWA вы уже установили, а значит можно переходить к самому интересному - практике!
✅ В этом уроке мы с вами рассмотрим пример SQL-инъекции с помощью Burp Suite на уязвимой платформе DVWA.
Пример SQL инъекции с помощью Burp Suite на DVWA
Для реализации SQL-инъекции с помощью Burp Suite, нам понадобиться:
Burp Suite* (установлен в Kali Linux из коробки).
DVWA, установленный на Kali Linux (это мы уже делали в нашем первом уроке)
*Burp Suite — это отличный инструмент, который позволяет искать уязвимости в веб-приложениях.
Запуск и настройка Burp Suite на Kali Linux
Для запуска Burp Suite на Kali Linux, откройте терминал и выполните команду:
burpsuite
Если вы впервые открыли Burp Suite, тогда будет необходимо принять условия использования.
Не пугайтесь, если появится сообщение об ошибке Java Runtime Environment (JRE). Это известная ошибка при первом запуске Burp Suite версии Community. Она связана с версией JRE, установленной в вашей ОС. Просто пропустите сообщение об ошибке.
В бесплатной версии единственная доступная опция — выбрать Temporary Project (Временный проект). После выбора параметров по умолчанию, появится основное окно графического интерфейса (GUI) Burp Suite Community.
Перейдем к использованию Burp Suite и DVWA для тестирования веб-приложений на предмет атак путем внедрения SQL.
Уровни безопасности DVWA
Запустите DVWA (см. первую ссылку). Имейте в виду. Если перезапустить машину, нужно будет снова запустить службы, необходимые для DVWA, и перезапустить браузер:
sudo service apache2 start
sudo service mysql start
Одной из крутых фич DVWA является то, что можно настраивать сложность атаки (их называют уровнями безопасности). Вот краткое объяснение каждого из них:
Low (Низкий) — компьютер максимально уязвим, и не использует средства безопасности.
Medium (Средний) — предназначен для имитации веб-приложения без современных средств обеспечения безопасности.
High (Высокий) — сложнее чем предыдущий уровень, но все еще можно найти уязвимость и взломать.
Impossible (Охренеть какой сложный) — самый сложный уровень, использующий техники защиты. Для хардкорных тру хакеров.
✅ В случае атак SQL-инъекция уровень Low отобразит на странице текстовое поле, в которое можно ввести SQL-инъекцию:
❌ Но, это для нас слишком просто. Поэтому будем использовать уровень Medium. В этом случае вместо простого текстового поля будет доступно выпадающее меню. Так, мы сможем использовать Burp Suite для внедрения SQL-инъекции.
SQL инъекция с помощью Burp Suite на DVWA
Переходим к примеру внедрения SQL-инъекции 🔥
Шаг 1: Откройте Burp Suite и создайте временный проект, используя настройки Burp по умолчанию.
Шаг 2: В главном верхнем меню выберите Proxy (Прокси), а в подменю, выберите Intercept (Перехват).
Шаг 3: Выберите Lunch Burp Browser.
Шаг 4: Используя браузер Burp, откройте DVWA, перейдите в левое меню и нажмите DVWA Security (Безопасность DVWA), затем в выпадающем списке выберите Medium (Средний) и нажмите Submit (Отправить):
Шаг 5: Теперь перейдите к SQL Injection в левом меню, и там вы должны увидеть выпадающее меню с кнопкой Submit (Отправить):
Шаг 6: Вернитесь в Burp Suite и включите перехват, нажав на Intercept is of (Перехват отключен):
Шаг 7: Вернитесь в DVWA и нажмите Submit (Отправить).
Шаг 8: Если вернуться в Burp Suite, вы увидите перехваченные данные:
Шаг 9: Как видите, значение, которое мы выбрали в выпадающем списке, было отправлено как id=1, поэтому давайте поэкспериментируем с этим числом, чтобы увидеть, насколько безопасно это веб-приложение.
Шаг 10: В Burp Suite измените значение id с 1 на 2, затем нажмите Forward, чтобы посмотреть, что произойдет.
Шаг 11: Вернитесь к DVWA. Как видите, в выпадающем списке по-прежнему отображается идентификатор пользователя 1; Однако, отображается информация об идентификаторе пользователя 2. Это означает, что Burp Suite смог успешно внедрить новое значение, даже не затрагивая веб-страницы:
Шаг 12: Это была всего лишь проверка. Теперь, когда мы поняли, что можно внедрять данные, давайте попробуем сделать настоящую SQL-инъекцию. Изменим значение ID пользователя, чтобы увидеть, что это даст. Вернитесь в Burp Suite и убедитесь, что Intercept включен, а затем снова нажмем Submit на DVWA, чтобы снова получить данные в Burp Suite.
Шаг 13: Теперь Burp Suite должен отображать ту же информацию, что и на скрине выше. Перейдите к последней строке и снова измените значение ID с 1 на 1 ИЛИ 1=1# и нажмите Forward (Вперед).
Шаг 14: Как вы можете видеть на следующем скрине, страница в DVWA теперь одновременно отображает информацию от всех пяти пользователей. Это означает, что мы обнаружили уязвимость:
Шаг 15: Нажмите Submit (Отправить), чтобы снова обновить данные в Burp Suite. Затем снова измените значение ID на:
1 OR 1=1 UNION SELECT NULL,TABLE_NAME FROM INFORMATION_SCHEMA.TABLES#
Шаг 16: Теперь, если вы вернетесь к DVWA, то увидите, что на этот раз мы получили гораздо больше информации, включая имена таблиц. Это очень серьезная уязвимость, поскольку злоумышленник может получить очень важные данные из веб-приложения.
Мы обнаружили более опасную уязвимость:
Шаг 17: С помощью полученной информации можно попробовать найти другие уязвимости веб-приложения:
1 OR 1=1 UNION SELECT USER,PASSWORD FROM users#
Теперь перейдите на DVWA и вы увидите отображаемые хеши паролей:
⚠️ Ну, а напоследок, мы бы хотели рассмотреть решение распространенной ошибки, с которой вы можете столкнуться.
Исправление ошибки Burp Suite и DVWA
Если появится следующая ошибка (см. скрине ниже), не беспокойтесь — это легко исправить.
✅ Просто зайдите в Burp Suite, выберите Intercept is Off, затем обновите DVWA.
✅ Кроме того, помните, что эти значения чувствительны к регистру, поэтому убедитесь, что вы используете правильный регистр:
На этом все!
Только что вы научились использовать Burp Suite и с помощью него провели внедрение SQL-инъекции на сайт. Если вы хотите продолжения наших бесплатных уроков, то ждем ваших 🔥 под постом на канале!
Comments