Как запустить sqlmap на Windows
Создай группу на Codeby и получи приз
- Место — наушники Galaxy Buds Live + 100% скидка на любой курс Codeby Security School
- Место — Портативный SSD USB 3.2 T7 500ГБ + 75% скидка на любой курс Codeby Security School
- Место — беспроводной повербанк EB-U1200CSRGRU + 50% скидка на любой курс Codeby Security School
Кстати, о том, как тестировать и взламывать сайты с помощью sqlmap написано в этой статье. А в этой статье, напротив, написано как защищать сайты и базы данных от взлома с sqlmap.
Подготовка для запуска sqlmap: скачивание sqlmap и Python
Для запуска sqlmap под Windows нужно две вещи:
За sqlmap заходим на официальный сайт, или скачиваем по прямой ссылке zip-файл.
За Python’ом заходим на его официальный сайт в раздел загрузок. Там представлены две ветки 3.* и 2.*. Я тоже люблю самые свежие версии, но в данном случае (для запуска sqlmap) нам нужна версия 2.*. На момент скачивания доступна Python 2.7.9.
Установка скаченного файла элементарна. Только запомните, в какой каталог вы его установили.
Так, теперь переходим в каталог с установленным Python. У меня это каталог C:Python27 (думаю, у вас также, если вы не меняли дефолтные значения).
Запустите командную строку (Win+x и в открывшемся окне выберите «Командная строка»). Теперь хватаете файл python.exe (который лежит в каталоге C:Python27) и перетаскиваете его в окно командной строки. В командной строке должно появится полный путь до файла. Дописываете к нему через пробел -v
И нажимаете Enter. Если видите много разной информации, в том числе и о версии, значит всё в порядке. Нажмите Ctrl+c, чтобы выйти.
Запуск sqlmap
Помните наш скаченный архив с sqlmap? Распакуйте его. Теперь в командную строку перетаскиваете файл python.exe, ставите пробел, перетаскиваете в эту же командную строку файл sqlmap.py (из архива с sqlmap) ставите ещё один пробел и пишите -h. У меня получилось так
Если появилась справка по sqlmap, значит всё работает как надо! Можно приступать к анализу сайтов.
Как использовать sqlmap на Windows
В командной строке на Windows sqlmap нужно запускать следующим образом:
путь_до_файла_python.exe путь_до_файла_sqlmap.py -u адрес_проверяемого_сайта —dbs
Например, я хочу проверить сайт
В этом случае полная команда будет
Чтобы узнать как искать уязвимые к SQL-инъекциям сайты, а также дополнительные ключи для дальнейшего анализа с помощью sqlmap, обратитесь к статье «Использование SQLMAP на Kali Linux: взлом веб-сайтов и баз данных через SQL-инъекции». Она хоть и для Linux, но общие принципы работы и ключи sqlmap применимы также и при работе на Windows.
Для того, чтобы грамотно программировать на PHP скрипты, которые неуязвимы к SQL-инжектам, прочитайте советы из статьи «Защита сайта от взлома: предотвращение SQL-инъекций».
One thought to “Как запустить sqlmap на Windows”
Добрый день! При попытке запустить проверку пишет «невозможно запустить приложение на вашем пк». ОС — Win 10
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Статья Как запустить sqlmap на Windows
Pirnazar
Кстати, о том, как тестировать и взламывать сайты с помощью sqlmap написано в этой статье. А в этой статье, напротив, написано как защищать сайты и базы данных от взлома с sqlmap.
Подготовка для запуска sqlmap: скачивание sqlmap и Python
Для запуска sqlmap под Windows нужно две вещи:
- sqlmap
- Python
За sqlmap заходим на
За Python’ом заходим на его официальный сайт в
. Там представлены две ветки 3.* и 2.*. Я тоже люблю самые свежие версии, но в данном случае (для запуска sqlmap) нам нужна версия 2.*. На момент скачивания доступна Python 2.7.9.
Установка скаченного файла элементарна. Только запомните, в какой каталог вы его установили.
Так, теперь переходим в каталог с установленным Python. У меня это каталог C:Python27 (думаю, у вас также, если вы не меняли дефолтные значения).
Запустите командную строку (Win+x и в открывшемся окне выберите «Командная строка»). Теперь хватаете файл python.exe (который лежит в каталоге C:Python27 ) и перетаскиваете его в окно командной строки. В командной строке должно появится полный путь до файла. Дописываете к нему через пробел -v
И нажимаете Enter. Если видите много разной информации, в том числе и о версии, значит всё в порядке. Нажмите Ctrl+c, чтобы выйти.
Помните наш скаченный архив с sqlmap? Распакуйте его. Теперь в командную строку перетаскиваете файл python.exe, ставите пробел, перетаскиваете в эту же командную строку файл sqlmap.py (из архива с sqlmap) ставите ещё один пробел и пишите -h. У меня получилось так
Если появилась справка по sqlmap, значит всё работает как надо! Можно приступать к анализу сайтов.
Как использовать sqlmap на Windows
В командной строке на Windows sqlmap нужно запускать следующим образом:
путь_до_файла_python.exe путь_до_файла_sqlmap.py -u адрес_проверяемого_сайта –dbs
Например, я хочу проверить сайт
В этом случае полная команда будет
Чтобы узнать как искать уязвимые к SQL-инъекциям сайты, а также дополнительные ключи для дальнейшего анализа с помощью sqlmap, обратитесь к статье «Использование SQLMAP на Kali Linux: взлом веб-сайтов и баз данных через SQL-инъекции». Она хоть и для Linux, но общие принципы работы и ключи sqlmap применимы также и при работе на Windows.
Для того, чтобы грамотно программировать на PHP скрипты, которые неуязвимы к SQL-инжектам, прочитайте советы из статьи «Защита сайта от взлома: предотвращение SQL-инъекций».
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Инструкция по использованию sqlmap. Ч.1: Основы работы (GET)
Что такое sqlmap, для чего она нужна
Программа sqlmap позволяет проверять сайты на наличие в них уязвимости SQL-инъекция, уязвимости XSS, а также эксплуатировать SQL-инъекцию. Поддерживаются разнообразные типы SQL-инъекций и разнообразные базы данных.
Что можно делать с помощью sqlmap
С помощью sqlmap можно:
- проверять, имеется ли в сайтах уязвимость
Если сайт уязвим к SQL-инъекции, то возможно:
- получать информацию из базы данных, в том числе дамп (всю) базу данных
- изменять и удалять информацию из базы данных
- заливать шелл (бэкдор) на веб-сервер
Один из сценариев использования sqlmap:
- Получение имени пользователя и пароля из базы данных
- Поиск панелей администрирования сайта (админок)
- Вход в админку с полученным логином и паролем
При наличии уязвимости атака может развиваться по различным направлениям:
- Модификация данных
- Заливка бэкдора
- Внедрение JavaScript кода для получения данных пользователей
- Внедрение кода для подцепления на BeEF
Как мы можем убедиться, SQL-инъекция – очень опасная уязвимость, которая даёт злоумышленнику большие возможности.
Проверка сайтов с помощью sqlmap
Если сайт получает данные от пользователя методом GET (когда и имя переменной и передаваемые данные видны в адресной строке браузера), то нужно выбрать адрес страницы, в которой присутствует эта переменная. Она идёт после вопросительного знака (?), например:
- http://www.dwib.org/faq2.php?id=8
- http://www.wellerpools.com/news-read.php?id=22
- http://newsandviews24.com/read.php?id=p_36
В первом адресе, имя переменной – id, а передаваемое значение – 8. Во втором адресе имя переменной также id, а передаваемое значение 22. В третьем примере имя переменной такое же, но передаваемое значение p_36. Одинаковое имя переменной – это случайное совпадение для разных сайтов, оно может быть любым, могут быть любыми передаваемые данные, может присутствовать несколько переменных со значениями, разделённые символом &.
Если мы хотим проверить, уязвима ли переменная id к SQL-инъекции, то нам нужно вводить адрес полностью — http://www.dwib.org/faq2.php?id=8 (а не http://www.dwib.org/faq2.php или http://www.dwib.org).
Команда для проверки переменной, передаваемой методом GET, очень проста:
Для данных сайтов команды будут:
В процессе проверки sqlmap может задавать различные вопросы и на них нужно отвечать y (т.е. Да) или n (т.е. Нет). Буква y и n могут быть заглавными или маленькими. Заглавная буква означает выбор по умолчанию, если вы с ним согласны, то просто нажмите Enter.
Примеры ситуаций и вопросов:
Эвристика определила, что цель защищена каким-то WAF/IPS/IDS. Вы хотите, чтобы sqlmap попыталась определить наименование WAF/IPS/IDS?
Мой любимый запрос:
Суть в том, что эвристика определила, что параметр может быть уязвим и уже определена удалённая СУБД, нас спрашивают, хотим ли мы продолжить проверку. А на втором скриншоте сайте ещё и уязвим к XSS.
Если вы хотите автоматизировать процесс, чтобы sqlmap не спрашивала вас каждый раз, а использовала выбор по умолчанию (там всегда лучшие варианты), то можно запустить команду с опцией —batch:
Возможные проблемы при сканировании sqlmap
Могут появиться следующей ошибки:
Она означает, что веб-сайт не хочет «разговаривать» с sqlmap. В качестве варианта нам предлагают использовать —random-agent. Если в браузере вы можете наблюдать сайт, а sqlmap пишет о невозможности подключиться, значит сайт игнорирует запросы, ориентируясь на пользовательский агент. Опция —random-agent меняет стандартное значение sqlmap на произвольные:
Ещё одной причиной такой ошибки может быть блокировка вашего IP веб-сайтом — тогда нужно использовать прокси. Если вы уже используете прокси и появляется эта ошибка, то это может означать, что у прокси проблемы со связью и стоит попробовать без него.
Результаты сканирования sqlmap
Найденные SQL-инъекции отображаются следующим образом:
Т.е. выделяются жирно-салатовым цветом, пишется имя уязвимого параметра, вид SQL-уязвимости и имеется слово injectable.
Получение списка баз данных с sqlmap
Для получения списка баз данных используется опция —dbs. Примеры:
Получение информации из баз данных
Например, для сайта wellerpools.com обнаружено две базы данных:
Я хочу узнать список таблиц в базе данных main_wellerpools. Для этого используется опция —tables. Кроме неё, нам нужно указать интересующую нас таблицу после опции -D:
По какой-то причине, мне хочется узнать список колонок из таблицы users. Для этого используется опция —columns. Кроме неё, нам нужно указать интересующую нас базу данных (-D main_wellerpools) и после ключа -T таблицу, для которой мы хотим увидеть список колонок:
Для вывода содержимого используется опция —dump. Её можно указать вместе с базой данных, и тогда будет сделан дамп всей базы данных, а можно ограничить данные одной таблицей или даже одной колонкой. Следующей командой я хочу увидеть содержимое всей таблицы users:
Взгляните на пароли – я при беглом осмотре подумал, что это хеши. Админы правда старались защититься, но это им не помогло.
Кстати, поскольку уязвим параметр, принимающий данные, отправленные методом GET, то можно сформировать запрос прямо в строке браузера таким образом, что логин и пароль пользователя будут выведены прямо на самом сайте:
Т.е. у нас имя пользователя, пароль и почта пользователей (а скорее всего даже администраторов) сайта. Если удастся найти административную панель сайта, то можно получить управление над сайтом или веб-сервером. Учитывая любовь пользователей к одинаковым паролям и зная их почтовые ящики – можно попробовать взломать почту.
В общем, SQL-инъекция – это очень опасная уязвимость.