Загрузка...

Гайд Sqlmap

Тема в разделе Веб уязвимости создана пользователем clavasyp 7 дек 2017. (поднята 3 дек 2017) 2232 просмотра

Загрузка...
  1. clavasyp
    clavasyp Автор темы 7 дек 2017 Заблокирован(а) 89 14 авг 2017
    Если это дубль, то отпишите я удалю.

    Sqlmap
    Установка sqlmap в Linux:
    git clone https://github.com/sqlmapproject/sqlmap.git sqlmap-dev
    cd sqlmap-dev/
    ./sqlmap.py —wizard
    Программа предустановлена в Kali Linux.
    -------------------------------------------------------------------------------------------------------------------------------
    Установка sqlmap в Windows:
    Sqlmap - http://sqlmap.org
    Python - https://www.python.org/downloads/ для sqlmap необходимо Python 2.7.13
    Устанавливаете python в корень диска C
    И sqlmap распаковать в корень диска C и переименовать папку в sqlmap чтоб было удобней.
    Для запуска sqlmap необходимо в командной строке прописать путь к папке sqlmap "cd C:/sqlmap" и нажимаете Enter. Потом прописываете python sqlmap.py -u "Адрес уязвимого сайта" —dbs "Показать базу данных"
    Построить список таблиц (--tables) для базы данных laminat (-D laminat)
    Показать колонки (--columns) для таблицы admin (-T admin)
    Вывести дамп (--dump) для таблицы admin (-T admin)
    Вывести содержимое (--dump) колонки login (-C login) для таблицы admin (-T admin) для базы данных laminat (-D laminat)
    Пример: python sqlmap.py -u (Сайт с sql уязвимостью) —dbs (Показать базу данных)
    python sqlmap.py -u (Сайт со sql уязвимостью) -D laminat -T admin -C login —dump
    -------------------------------------------------------------------------------------------------------------------------------
    Описание sqlmap:
    sqlmap — это инструмент с открытым исходным кодом для тестирования на проникновение, который автоматизирует процесс выявления и эксплуатирования уязвимостей SQL-инъекций и захват серверов баз данных. Он поставляется с мощным движком выявления и многими нишевыми функциями для конечного тестера на проникновение и широким набором переключателей начиная от отпечатков баз данных по данным, полученным от этой БД, до доступа к файловой системе и выполнения команда на операционной системе посредством внеполосных подключений.
    Особенности:
    Полная поддержка для таких систем управления базами данных как MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase, SAP MaxDB и HSQLDB.
    Полная поддержка шести техник SQL-инхекций: слепая логическая (boolean-based blind), слепая, основанная на времени (time-based blind), основанная на ошибке (error-based), основанная на запросе UNION (UNION query-based), многоярусные запросы (stacked queries) и внеполосная (out-of-band).

    Поддержка прямого подключения к базе данных без прохода через SQL инъекцию, посредством введения учётных данных СУБД, IP адреса, порта и имени БД.

    Поддержка перечисления пользователей, хешей паролей, привилегий, ролей, БД, таблиц и колонок.

    Автоматическое распознавание форматов хешей паролей и предложение их взлома с использованием атаки по словарю.

    Поддержка сдампливания записей таблиц БД, диапазона записей или указанных колонок по пользовательскому выбору.

    Пользователь также может выбрать сдампливать только диапазон символов из каждой записи колонки.

    Поддержка поиска указанных имён БД, указанных таблиц по всем БД или указанным колонкам по всем таблицам БД. Это полезно, например, для идентификации таблиц, содержащих пользовательские учётные данные приложений, где колонки с соответствующими именами колонок содержат такие строки как имя и пароль.

    Поддержка загрузки и выгрузки любого файла из файловой системы с сервера БД, когда ПО БД MySQL, PostgreSQL или Microsoft SQL Server.

    Поддержка выполнения произвольных команд на ОС сервера БД и получение их стандартного вывода когда ПО MySQL, PostgreSQL или Microsoft SQL Server.

    Поддержка установления внедиапазонного TCP подключения между атакующей машиной и лежащей в основе сервера базы данных операционной системой. Этот канал по выбору пользователя может быть интерактивным приглашением командной строки, сессией Meterpreter или сессией графического пользовательского интерфейса (VNC).

    Поддержка повышения пользовательских привилегий процесса базы данных через команду Metasploit'а - Meterpreter getsystem.
    -------------------------------------------------------------------------------------------------------------------------------
    Справка по sqlmap:
    Использование
    python sqlmap [опции]
    Опции:
    -h, —help Показать базовую справку и выйте
    -** Показать продвинутую справку и выйти
    —version Показать номер версии программы и выйти
    -v VERBOSE Уровень вербальности: 0-6 (по умолчанию 1)
    -------------------------------------------------------------------------------------------------------------------------------
    Цель:
    По крайней мере одна из этих опций должна быть указана, чтобы задать цель(и)
    -d DIRECT Строка подключения для прямого соединения с базой данных
    -u URL, —url=URL Целевой URL (например, "http://www.site.com/vuln.php?id=1")
    -l LOGFILE Парсить цель(и) из файлов ***** Burp или WebScarab
    -x SITEMAPURL Парсить цель(и) из удалённого файла sitemap(.xml)
    -m BULKFILE Сканировать множество целей, заданных в текстовом файле
    -r REQUESTFILE Загрузить HTTP запросы из файла
    -g GOOGLEDORK Обработать результаты дорков Google как целевых URL
    -c CONFIGFILE Загрузить опции из конфигурационного файла INI
    -------------------------------------------------------------------------------------------------------------------------------
    Запросы:
    Эти опции могут использоваться для определения как подключиться к целевому URL
    —method=МЕТОД Принудительно использовать заданный HTTP метод (например, PUT)
    —data=ДАННЫЕ Строка данных для отправки через POST
    —param-del=РАЗД_ПАР Символ, используемый для разделения величин параметров
    —cookie=КУКИ Значение заголовка HTTP куки
    —cookie-del=РАЗДЕЛИТЕЛЬ_КУКИ Символ, используемый для разделения величин куки
    —load-cookies=ФАЙЛ_ДЛЯ_ЗАГРУЗКИ Файл, содержащий куки в формате Netscape/wget
    —drop-set-cookie Игнорировать заголовок Set-Cookie из ответа
    —user-agent=AGENT Значение заголовка HTTP User-Agent
    —random-agent Использовать случайно выбранное значение заголовка HTTP User-Agent
    —host=ХОСТ Значение заголовка хоста HTTP
    —referer=РЕФЕРЕР Значение заголовка HTTP Referer
    -H ЗАГОЛОВОК, —header Дополнительный заголовок (к примеру, "X-Forwarded-For: 127.0.0.1")
    —headers=ЗАГОЛОВКИ Дополнительные заголовки (к примеру, "Accept-Language: fr\nETag: 123")
    —auth-type=ТИП_АУТ HTTP тип аутентификации (Basic, Digest, NTLM или PKI)
    —auth-cred=ДАННЫЕ_АУТ учётные данные HTTP аутентификации (имя:пароль)
    —auth-file=ФАЙЛ_АУТ файл HTTP аутентификации PEM сертификат/частный ключ
    —ignore-401 Игнорировать ошибку HTTP 401 (Unauthorized) (Неавторизован)
    —ignore-proxy Игнорировать дефолтные системные настройки ******
    —ignore-redirects Игнорировать попытки редиректа
    —ignore-timeouts Игнорировать таймауты соединений
    —proxy=****** Использовать ****** для подключения к целевому URL
    —proxy-cred=УЧЁТКА_ПРОКСИ Учётные данные аутентификации ****** (имя:пароль)
    —proxy-file=ФАЙЛ_ПРОКСИ Загрузить список ****** из файла
    —tor Использовать анонимную сеть Tor
    —tor-port=TORPORT Установить порт ****** Tor отличный от дефолтного
    —tor-type=TORTYPE Установить тип ****** Tor (HTTP (по умолчанию), SOCKS4 или SOCKS5)
    —check-tor Проверить, используется ли Tor должным образом
    —delay=ЗАДЕРЖКА Задержка в секундах между каждым HTTP запросом
    —timeout=ТАЙМАУТ Секунды для ожидания перед таймаутом соединения (по умолчанию 30)
    —retries=ПОПЫТКИ Попытки при таймаутах соединения (по умолчанию 3)
    —randomize=ПАРАМЕТРЫ Случайно менять значения данного параметра(ов)
    —safe-url=БЕЗОПАСНЫЙ_EURL URL адрес для частого посещения во время тестирования
    —safe-post=POST Данные POST для отправки на безопасный URL
    —safe-req=БЕЗОПАСНЫЙ_ФАЙЛ Load safe HTTP request from a file
    —safe-freq=КОЛИЧЕСТВО Тестовые запросы между двумя визитами на заданный безопасный URL
    —skip-urlencode Пропустить URL кодирование данных для запросов
    —csrf-token=CSR.. Параметр используемый для удержания токена anti-CSRF
    —csrf-url=CSRFURL URL адрес для посещения для извлечения токена anti-CSRF
    —force-ssl Принудительное использование SSL/HTTPS
    —hpp Использовать метод загрязнения параметра HTTP
    —eval=EVALCODE Выполнить данный код Python перед запросом (например, "import hashlib;id2=hashlib.md5(id).hexdigest()")
    -------------------------------------------------------------------------------------------------------------------------------
    Оптимизация:
    Эти опции могут использовать для оптимизации производительности sqlmap
    -o Отключить все переключатели оптимизации
    —predict-output Прогнозировать общий вывод запросов
    —keep-alive Использовать постоянные соединения HTTP(s)
    —null-connection Получить длину страницу без фактического тела ответа HTTP
    —threads=ПОТОКИ Максимальное количество одновременных HTTP(s) запросов (по умолчанию 1)
    -------------------------------------------------------------------------------------------------------------------------------
    Инъекция:
    Эти опции могут использоваться для определения, какой параметр тестировать,
    обеспечивать пользовательскую инъекционную нагрузку и дополнительные скрипты обфускации

    -p TESTPARAMETER Тестируемый параметр(ы)
    —skip=SKIP Пропустить тестирования данного параметра(ов)
    —skip-static Пропустить тестирование параметров, которые не кажутся динамическими
    —param-exclude=.. Регулярное выражение для исключения параметров из тестирования (например, "ses")
    —dbms=DBMS Принудительно указать СУБД
    —dbms-cred=DBMS.. Данные аутентификации СУБД (пользователь:пароль)
    —os=OS Принудительно указать операционную систему СУБД
    —invalid-bignum Использовать большие числа для недействительных значений
    —invalid-logical Использовать логические операции для недействительных значений
    —invalid-string Использовать случайные строки для недействительных значений
    —no-cast Отключить механизм отбора полезной нагрузки
    —no-escape Отключить механизм экранирования строк
    —prefix=PREFIX Предваряющая строка инъекционного запроса
    —suffix=SUFFIX Завершающая строка инъекционного запроса
    —tamper=TAMPER Использовать данный скрипт(ы) для обфускации инъекционных данных
    -------------------------------------------------------------------------------------------------------------------------------
    Выявление:
    Эти опции можно использовать для настройки фазы выявления
    —level=УРОВЕНЬ Уровень выполнения тестирования (1-5, по умолчанию 1)
    —risk=РИСК Риск выполняемого тестирования (1-3, по умолчанию 1)
    —string=СТРОКА Строка, когда запрос выполнен в True (Истина)
    —not-string=НЕ_ИСТИНА Строка, когда запрос выполнен в False (Ложь)
    —regexp=РЕГУЛЯРНОЕ_ВЫРАЖЕНИЕ Регулярное выражение, когда запрос выполнен в True (Истина)
    —code=КОД HTTP код, когда запрос выполнен в True (Истина)
    —text-only Сравнить страницы основываясь только на текстовом содержимом
    —titles Сравнить страницы основываясь только на их заголовках
    -------------------------------------------------------------------------------------------------------------------------------
    Техники:
    Эти опции можно использовать для поднастройки тестирования отдельных техник SQL инъекции

    —technique=ТЕХНИКА Техники SQL инъекций для использования (по умолчанию "BEUSTQ")
    —time-sec=TIMESEC Секунды для задержки ответа СУБД (по умолчанию 5)
    —union-cols=UCOLS Диапазон колонок для тестирования с запросами UNION SQL инъекций
    —union-char=UCHAR Символ для использования при ****форсинге количества колонок
    —union-from=UFROM Таблица для использования в FROM части UNION запроса SQL инъекции
    —dns-domain=ДОМЕН Доменное имя, используемое для эксфильтрационной атаки DNS
    —second-order=СТРОКА В результате по URL ищется ответ второго порядка
    -------------------------------------------------------------------------------------------------------------------------------
    Отпечатки:
    -f, —fingerprint Выполняет обширную сверку версии СУБД
    -------------------------------------------------------------------------------------------------------------------------------
    Перечисления:
    Эти опции могут использоваться для перечисления информации
    системы управления базами данных, структуры содержащихся в
    таблицах данных. Более того, вы можете запустить ваши собственные
    SQL выражения
    -a, —all Получить всё
    -b, —banner Получить банер СУБД
    —current-user Получить текущего пользователя СУБД
    —current-db Получить текущую базу данных СУБД
    —hostname Получить имя хоста сервера СУБД
    —is-dba Определить, является ли текущий пользователь администратором СУБД
    —users Перечислить пользователей СУБД
    —passwords Перечислить хеши паролей пользователей СУБД
    —privileges Перечислить пользовательские привилегии СУБД
    —roles Перечислить пользовательские роли СУБД
    —dbs Перечислить базы данных СУБД
    —tables Перечислить таблицы базы данных СУБД
    —columns Перечислить колонки таблицы СУБД
    —schema Перечислить схему СУБД
    —count Перечислить количество записей для таблицы(таблиц)
    —dump Сдампить записи таблицы базы данных СУБД
    —dump-all Сдампить все записи таблиц базы данных СУБД
    —search Поиск колонки(ок), таблиц(ы) и/или имени(имён) базы данных
    —comments Получить комментарии СУБД
    -D БД БД СУБД для перечисления
    -T ТБЛ Таблица(ы) БД СУБД для перечисления
    -C КОЛ Колонка(и) таблицы БД СУБД для перечисления
    -X ПРОПУСТИТЬКОЛ Колонка(и) БД СУБД для не перечисления
    -U ПОЛЬЗОВАТЕЛЬ Пользователи СУБД для перечисления
    —exclude-sysdbs Пробустить системные БД СУБД при перечислении таблиц
    —pivot-column=P.. Имя стержневой (Pivot) колонки
    —where=DUMPWHERE Использовать условие WHERE при дампинге таблиц
    —start=LIMITSTART Первая выходная запись запроса для получения
    —stop=LIMITSTOP Последняя выходная запись запроса для получения
    —first=FIRSTCHAR Первый символ выходного слова запроса для получения
    —last=LASTCHAR Последний символ выходного слова запроса для получения
    —sql-query=QUERY SQL выражение для исполнения
    —sql-shell Приглашение интерактивного SQL шелла
    —sql-file=SQLFILE Выполнить SQL выражение из данного файла(ов)
    -------------------------------------------------------------------------------------------------------------------------------
    ****-форс:
    Эти опции могут использоваться для записи проверок ****-форсом

    —common-tables Проверить наличие распространённых таблиц
    —common-columns Проверить наличие распространённых колонок
    -------------------------------------------------------------------------------------------------------------------------------
    Инъекция заданных пользователем функций:
    Эти опции могут быть использованы для создания определённых пользователем функций

    —udf-inject Вставка предопределённых пользователем функций
    —shared-lib=SHLIB Локальный путь до общей библиотеки
    -------------------------------------------------------------------------------------------------------------------------------
    Доступ к файловой системе:
    Эти опции могут быть использованы для доступа к файловой системе СУБД

    —file-read=RFILE Прочитать файл из файловой системы СУБД
    —file-write=WFILE Записать локальный файл в файловую систему СУБД
    —file-dest=DFILE Абсолютный путь для записи файла в СУБД
    -------------------------------------------------------------------------------------------------------------------------------
    Доступ к оперативной системе:
    Эти опции могут быть использованы для получения доступа к ОС СУБД
    —os-cmd=OSCMD Выполнить команду ОС
    —os-shell Приглашение интерактивного шелла ОС
    —os-pwn Прриглашение для внеполосного шелла, Meterpreter или VNC
    —os-smbrelay Однокликовое приглашение для внеполосного шелла, Meterpreter или VNC
    —os-bof Эксплуатация переполнения буфера хранимой процедуры
    —priv-esc Повышение пользовательских привилегий процесса
     
Top