🚀 Не просто читай — прокачивайся! Зарегистрируйся в Kraken Academy и учись на практике: стенды, модули и путь к реальным скиллам.

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

  1. Зафиксируйте реальный запрос в Burp → сохраните в request.txt.

  2. Определите параметр/вектор (URL/POST/Cookie/Header).

  3. Проба: sqlmap -r request.txt -p targetParam.

  4. Уточните технику/уровень: --technique=..., --level/--risk.

  5. Перечисляйте точечно: --dbs → --tables → --columns → --dump -C.

  6. Документируйте шаги, payload’ы и доказательства (скрины, логи).

  7. В финале — рекомендации по защите (prepared statements, least privilege, скрытие ошибок SQL).

Хочешь уверенно владеть SQLMap без “копипасты из интернета”?
В модуле «SQLMap: с нуля» 9 уроков, из них 7 — практические стенды: от первого запуска и отладки до обхода WAF и выполнения команд ОС. Ты отработаешь реальные сценарии пентеста, а не абстракции.

Изучить модуль →

📘 Понравилась статья?

Больше практики и реальных заданий — в Kraken Academy.
А чтобы точно ничего не пропустить — подпишись на наш Telegram-канал.

Рекомендуемые статьи

Обложка

Веб-запросы: что это, как они работают и почему их важно понимать в кибербезопасности

Читать полностью →
Обложка

Win-DDoS: как превратить Windows Domain Controllers в бесплатный ботнет для атак

Читать полностью →
Обложка

WinRAR снова в прицеле

Читать полностью →