Найти в Дзене

#9 После атаки. Получаем доступ к базе данных.

Здравствуйте, дорогие друзья.

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

Но во многих случаях, все, что нас интересует – это данные, которые сохранены в базе данных, например, логины и пароли. Вы не увидите их в файлах, так как они сохранены в базе данных.

Если Вы хотите получить доступ к ним, то придется взламывать базу данных.

Большинство программ, например «DVWA», «Mutillidae», и программы, которые используются в реальном мире, такие как «Wordpress»; используют базы данных для хранения информации. Чтобы они могли подключиться к базе данных, существует файл конфигурации, который обычно называется «config.php» или «cfg.php».

Первое, что мы должны сделать, так это найти этот файл и прочитать его содержимое. Это то, что мы сейчас сделаем. Проверим, где мы сейчас находимся, с помощью команды «pwd»:

-2

Как видим в выводе, мы находимся по адресу «/var/www/dav».

Давайте перейдем в директорию «dvwa» с помощью команды «cd ..dvwa»:

-3

Сразу посмотрим список содержимого директории, с помощью команды «ls -l»:

-4

Как видим, у нас есть директория «config», и давайте войдем в нее и проверим, что в ней находится:

-5
-6

Вывод файлов прошел через команду «ls-l», и мы видим два файла. Нас будет интересовать первый файл «config.inc.php». Откроем его с помощью команды «cat»:

-7

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

Есть альтернативный вариант в функциях weevely. Она называется «:file_read»:

-8
-9

Данная функция позволяет прочитать файл, используя несколько методов. Давайте прочитаем справку, как пользоваться данной функцией:

-10

Видим, что мы можем добавить метод «-vector», с опциями. Давайте пропишем функцию с методом и файлом, который мы хотим прочитать. Команда будет выглядеть как: «:file_read –vector file config.inc.php»:

-11

В итоге мы успешно открыли файл и смогли прочитать его содержимое. Отмечу, что он содержит информацию подключения к базе данных. Этот файл используется самим веб-приложением. Мы можем увидеть 4 строки, которые содержат всю информацию по подключению к базе данных:

-12

Еще раз посмотрим на список команд в «help», где у нас есть два sql-модуля:

-13

Первая функция – это «:sql_console», которая позволит запустить обычную не интерактивную sql-консоль, в которой Вы можете выполнять любые sql-команды. В данном случае эта функция не сработает, так как наш пользователь «root» не имеет пароля. Мы просто не сможем подключиться, но в обычных случаях это должно работать.

Вторая функция – это «sql_dump», более полезная в нашей ситуации. С помощью нее мы сможем сохранить информацию о базе данных в один файл, и скачать эту информацию на наш компьютер. Мы сможем открыть его и прочитать данные, используя текстовый редактор.

Давайте рассмотрим пример с «sql_dump». Для начала давайте рассмотрим инструкцию по использованию «sql_dump». Это делается с помощью команды: «sql_dump -h»:

-14

Идем по порядку, пропуская опцию «-dbms», и вводим опцию «-host locahost» (мы берем эту информацию из файла config). После указания сервера пишем –lpath: это место, где данные будут сохранены на Вашем ПК.

Сохраним информацию по адресу: «/root/dvwa-data.txt». Далее введем оставшиеся данные по базе данных по-умолчанию.

В итоге, команда будет выглядеть как: «:sql_dump –host locahost -lpath /root/dvwa-data.txt dvwa root ‘’»:

-15

Теперь у нас выводится то, что этот метод не сработал. Воспользуемся опцией «-vector mysqldump_sh»:

-16

Вывод данной команды говорит нам о том, что информация по базе данных была сохранена.

Переходим по адресу «/root/»:

-17

В итоге получаем структурированный документ по базе данных веб-сайта dvwa:

-18

Просмотрев данный текстовый файл, Вы непременно наткнетесь на имена пользователей и их пароли:

-19

В итоге мы сдампили всю базу данных в локальное хранилище.