Эксплуатация SQL-инъекции с помощью sqlmap в Kali Linux

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

Но, помимо простоты и возможностей, которые предоставляет база данных, также существует множество вариантов использования баз данных в мире информации и технологий, особенно при разработке веб-сайта. Пенттестеры и хакеры неустанно пытаются найти брешь в защите базы данных. Об этом свидетельствует отчет, выпущенный исследователями Positive Technologies, центрами изучения информационной безопасности в Европе, во втором квартале 2017 года в топ-10 атак на веб-приложения доминировали межсайтовый скриптинг 39,1% и SQL-инъекции 24,9%. В Positive Technologies отметили, что отчет за второй квартал мало чем отличается от первого квартала.

 Топ-10 атак на веб-приложения

Это и интересно, и тревожно, поскольку в базе данных хранится много информации, такой как учетные данные (администратора и пользователя), данные финансовой информации (кредитные карты, банковские счета и т.д.) и т.п. Кроме того, для проведения атак SQL-инъекций не всегда требуется опыт инъектора, в том смысле, что это могут сделать и дети. Ведь существует множество бесплатных приложений, способных выполнять SQL-инъекции автоматически, например, SQLMap. SQLMap - это приложение с открытым исходным кодом для тестирования на проникновение, предназначенное для проведения атак SQL-инъекций в бреши безопасности баз данных в автоматическом режиме. Здесь я покажу, как выполнить SQL-инъекцию с помощью SQLMap в Linux Kali. Особых навыков для этого не требуется, но будет более полезно, если вы владеете скриптовым языком или технологией работы с базами данных SQL.

Этот учебник рекомендуется тем, кто только начинает заниматься SQL-инъекциями в Kali Linux, просто для развлечения или хочет посмотреть, как работает SQL-инъекция. Не рекомендуется тем, кто уже является высококвалифицированным специалистом по тестированию на проникновение.

SQL-инъекция с использованием sqlmap в Kali Linux

Перед проведением инъекционной атаки мы, конечно же, должны убедиться, что сервер или объект атаки имеет брешь в безопасности базы данных. Для поиска дыр в безопасности базы данных можно использовать несколько методов. Среди них Google dorking, используемый в основном хакерами и специалистами по тестированию на проникновение. К счастью, существует инструмент, способный делать это автоматически. Но сначала нам необходимо установить его. Инструмент называется SQLiv (SQL injection Vulnerability Scanner).

Шаг 1 : Установка SQLiv в KALI LINUX

Для установки SQLiv введите в терминал следующие команды:

После установки SQLiv в Kali Linux он будет храниться по пути /usr/bin/sqliv. Ее можно вызвать непосредственно из терминала, набрав 'sqliv'. Теперь давайте рассмотрим возможности SQLIv.

SQLiv

Шаг 2: поиск уязвимостей для SQL-инъекции

Мы будем использовать Google Dorking для сканирования и поиска дыр для SQL-инъекций в целях. Возьмем простой дорклинг, и пусть SQLiv просканирует все цели и найдет уязвимость для электронной коммерции по следующему шаблону URL 'item.php?id='. Чтобы найти другие шаблоны, просто наберите в Google "google dork list".

По умолчанию SQLiv будет переполнять первую страницу в поисковой системе, а это в google 10 сайтов на страницу. Таким образом, здесь мы задаем аргумент -p 100, чтобы проползти 10 страниц (100 сайтов). На основе приведенной выше приблуды мы получили результат уязвимых URLS, который выглядит следующим образом:

sqliv -d inurl:item.php?id= -e google -p 100

Из ста проверенных URL-адресов восемь были признаны уязвимыми к атаке SQL-инъекции. Сохраните URL-адреса в текстовом редакторе для дальнейших действий.

Шаг 3: SQL-инъекции с использованием SQLMAP

После того как мы получили хотя бы одну уязвимую для SQL-инъекций цель, переходим к выполнению атаки с помощью SQLMap. В качестве примера я беру одну из них. Для начала необходимо раскрыть имя базы данных, внутри которой есть таблицы и столбцы, содержащие данные.

Целевой URL: http://www.acfurniture.com/item.php?id=25

ПЕРЕЧИСЛИТЬ ИМЯ БАЗЫ ДАННЫХ

Образец команды:

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

В результате выполнения приведенной выше команды результат должен выглядеть следующим образом

Мы получили имя базы данных "acfurniture".

SQL-инъекции с использованием SQLMAP

ПЕРЕЧИСЛИТЬ ИМЕНА ТАБЛИЦ

Образец команды:

Таким образом, команда составлена следующим образом:

Результат должен выглядеть следующим образом:

SQL-инъекции с использованием SQLMAP

Таким образом, можно сделать вывод, что расположение данных таково, что сайт acfurniture.com имеет две базы данных, acfurniture и information_schema. База данных с именем acfurniture содержит четыре таблицы: category, product, product_hacked и settings. Имя взломанной таблицы отсутствует, но давайте разберемся подробнее. Посмотрим, что находится внутри таблицы settings. Внутри таблицы действительно есть столбцы и данные.

ПЕРЕЧИСЛИТЬ СТОЛБЦЫ

Шаблон команды:

Таким образом, команда составлена следующим образом:

Выходные данные должны выглядеть следующим образом:

SQL-инъекции с использованием SQLMAP

Таблица настроек состоит из 6 столбцов, и это фактически учетная запись. Давайте сделаем дамп этих данных.

Дамп данных

Шаблон команды:

Итак, команда составлена следующим образом:

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

Вывод должен выглядеть следующим образом:

SQL-инъекции с использованием SQLMAP

Email : [email protected]
Имя пользователя : Handsome
Пароль : 9HPKO2NKrHbGmywzIzxUi

Итак, мы закончили работу с дампом данных в базу данных с помощью SQL-инъекции. Следующая задача - найти дверь или панель администратора, страницу входа администратора на целевых сайтах. Перед этим необходимо убедиться, зашифрован ли этот пароль (9HPKO2NKrHbGmywzIzxUi) или нет, если да, то сначала нужно его расшифровать. Это уже другая тема - взлом и расшифровка.

Даже здесь мы не взламываем целевой сайт, по крайней мере, мы узнали много нового об SQL-инъекциях с помощью SQLMap в Kali Linux и легко сбросили учетные данные. Эта техника используется в основном кардерами (хакерами, которые ищут счета кредитных карт на сайтах электронной коммерции), нацеленными на сайты финансовых, банковских учреждений, магазинов или сайтов электронной коммерции, которые хранят информацию о кредитных картах пользователей.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий