Меню Рубрики

Sql инъекция kali linux

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

Инструкция по использованию jSQL Injection — многофункционального инструмента поиска и эксплуатации SQL-инъекций в Kali Linux

jSQL Injection может пригодиться в ситуациях, когда вас интересуют: поиск SQL-инъекций и админок, закачка шеллов, файлов и чтение содержимого файлов сервера, брут-форс хешей, массовая проверка сайтов, использование прокси и многое другое.

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

Для обнаружения и эксплуатации SQL-инъекций мне всегда нравилась sqlmap. Это утилита командной строки, она умеет очень многое, использует всевозможные методы SQL-инъекций, пытается обходить защиты сервера, может закачивать шеллы и многое другое. Она также кроссплатформенная, актуальная и очень эффективная. Эта программа мне не перестала нравиться, но я считаю: чем больше альтернатив хороших и разных — тем лучше. К тому же, поскольку sqlmap крайне мощная и гибкая, то для программы командной строки это означает огромное количество разнообразных опций. Для новичков, особенно такие «продвинутые» операции как залив шелла, это может показаться слишком сложным.

У jSQL Injection отличный графический интерфейс. Программа написана на Java, она является кроссплатформенной и очень нетребовательной к ресурсам. Файл программы, между прочим, занимает всего 2.3 мегабайта.

Но начнём по порядку — с поиска кандидатов на взлом. Не будет лишним напомнить, что взлом является уголовно наказуемым преступлением. Поэтому проявляйте благоразумность — не делайте ничего такого, что нарушает закон. Идеальным (с точки зрения юридической чистоты) является использование для обучения уязвимого скрипта на локалхосте или в одной из специализированных сред, которых сейчас имеется большое количество.

Подборка уязвимый сред для практики по взлому сайтов:

1. Поиск уязвимых к SQL-инъекциям сайтов.

Самым лучшим способом является поиск в Гугл по доркам. Эта таблица позаимствована с сайта blackmoreops.com (шикарный сайт — я очень многому научился именно по нему):

Дорки Google Дорки Google Дорки Google
inurl:item_id= inurl:review.php?id= inurl:hosting_info.php?id=
inurl:newsid= inurl:iniziativa.php?in= inurl:gallery.php?id=
inurl:trainers.php?id= inurl:curriculum.php?id= inurl:rub.php?idr=
inurl:news-full.php?id= inurl:labels.php?id= inurl:view_faq.php?id=
inurl:news_display.php?getid= inurl:story.php?id= inurl:artikelinfo.php?id=
inurl:index2.php?option= inurl:look.php?ID= inurl:detail.php?ID=
inurl:readnews.php?id= inurl:newsone.php?id= inurl:index.php?=
inurl:top10.php?cat= inurl:aboutbook.php?id= inurl:profile_view.php?id=
inurl:newsone.php?id= inurl:material.php?id= inurl:category.php?id=
inurl:event.php?id= inurl:opinions.php?id= inurl:publications.php?id=
inurl:product-item.php?id= inurl:announce.php?id= inurl:fellows.php?id=
inurl:sql.php?id= inurl:rub.php?idr= inurl:downloads_info.php?id=
inurl:index.php?catid= inurl:galeri_info.php?l= inurl:prod_info.php?id=
inurl:news.php?catid= inurl:tekst.php?idt= inurl:shop.php?do=part&id=
inurl:index.php?id= inurl:newscat.php?id= inurl:productinfo.php?id=
inurl:news.php?id= inurl:newsticker_info.php?idn= inurl:collectionitem.php?id=
inurl:index.php?id= inurl:rubrika.php?idr= inurl:band_info.php?id=
inurl:trainers.php?id= inurl:rubp.php?idr= inurl:product.php?id=
inurl:buy.php?category= inurl:offer.php?idf= inurl:releases.php?id=
inurl:article.php?ID= inurl:art.php?idm= inurl:ray.php?id=
inurl:play_old.php?id= inurl:title.php?id= inurl:produit.php?id=
inurl:declaration_more.php?decl_id= inurl:news_view.php?id= inurl:pop.php?id=
inurl:pageid= inurl:select_biblio.php?id= inurl:shopping.php?id=
inurl:games.php?id= inurl:humor.php?id= inurl:productdetail.php?id=
inurl:page.php?file= inurl:aboutbook.php?id= inurl:post.php?id=
inurl:newsDetail.php?id= inurl:ogl_inet.php?ogl_id= inurl:viewshowdetail.php?id=
inurl:gallery.php?id= inurl:fiche_spectacle.php?id= inurl:clubpage.php?id=
inurl:article.php?id= inurl:communique_detail.php?id= inurl:memberInfo.php?id=
inurl:show.php?id= inurl:sem.php3?id= inurl:section.php?id=
inurl:staff_id= inurl:kategorie.php4?id= inurl:theme.php?id=
inurl:newsitem.php?num= inurl:news.php?id= inurl:page.php?id=
inurl:readnews.php?id= inurl:index.php?id= inurl:shredder-categories.php?id=
inurl:top10.php?cat= inurl:faq2.php?id= inurl:tradeCategory.php?id=
inurl:historialeer.php?num= inurl:show_an.php?id= inurl:product_ranges_view.php?ID=
inurl:reagir.php?num= inurl:preview.php?id= inurl:shop_category.php?id=
inurl:Stray-Questions-View.php?num= inurl:loadpsb.php?id= inurl:transcript.php?id=
inurl:forum_bds.php?num= inurl:opinions.php?id= inurl:channel_id=
inurl:game.php?id= inurl:spr.php?id= inurl:aboutbook.php?id=
inurl:view_product.php?id= inurl:pages.php?id= inurl:preview.php?id=
inurl:newsone.php?id= inurl:announce.php?id= inurl:loadpsb.php?id=
inurl:sw_comment.php?id= inurl:clanek.php4?id= inurl:pages.php?id=
inurl:news.php?id= inurl:participant.php?id=
inurl:avd_start.php?avd= inurl:download.php?id=
inurl:event.php?id= inurl:main.php?id=
inurl:product-item.php?id= inurl:review.php?id=
inurl:sql.php?id= inurl:chappies.php?id=
inurl:material.php?id= inurl:read.php?id=
inurl:clanek.php4?id= inurl:prod_detail.php?id=
inurl:announce.php?id= inurl:viewphoto.php?id=
inurl:chappies.php?id= inurl:article.php?id=
inurl:read.php?id= inurl:person.php?id=
inurl:viewapp.php?id= inurl:productinfo.php?id=
inurl:viewphoto.php?id= inurl:showimg.php?id=
inurl:rub.php?idr= inurl:view.php?id=
inurl:galeri_info.php?l= inurl:website.php?id=

Открывайте сайты по одному из результатов поиска и пробуйте добавлять кавычку к переменной. Например, адрес сайта:

Тогда я пробую так:

Если появляется какое-либо сообщение об ошибке SQL, то высока вероятность того, что сайт уязвим к SQL-инъекции.

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

Ещё можно попытать удачу поиском по ошибкам:

  • inurl:index.php?id= intext:»mysql_fetch_array»
  • inurl:advsearch.php?module= & intext:sql syntax
  • «CHARACTER_SETS» «COLLATION_CHARACTER_SET_APPLICABILITY»
  • «Unable to jump to row» «on MySQL result index» «on line»
  • «[SQL Server Driver][SQL Server]Line 1: Incorrect syntax near» -forum -thread -showthread
  • «Warning: mysql_query()» «invalid query»
  • intitle:»Error Occurred While Processing Request»
  • «You have an error in your SQL syntax near»
  • «mySQL error with query»
  • intext:»Access denied for» intitle:»Shopping cart»
  • «supplied argument is not a valid MySQL result resource»

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

Совершенно точно не стоит искать SQL-инъекции в популярных движках. Даже если они там и обнаруживаются, то практически всегда оказываются трудно эксплуатируемыми. Если вы читаете эту инструкцию, то это точно (пока) не ваш уровень. Популярные движки могут стать уязвимыми из-за уязвимых плагинов (особенно самописных). Но, опять же, это пока не наш уровень.

2. Установка jSQL Injection

jSQL Injection уже предустановлена в Kali Linux. Но версия там (по крайней мере на момент написания) уже довольно старая (0.5), а доступна уже 0.72. Учитывая, что jSQL Injection ставится элементарно — в одну команду, то можно загрузить самую свежую с официального сайта:

После загрузки запускаем так:

Вот так выглядит главное окно программы:

Согласитесь, это было совсем просто — потраченные 5 секунд времени стоят того, чтобы работать в самой свежей версии.

Между прочим, это одна из тех программ для пентестинга, которые прекрасно работают в Windows.

Запустите скаченный файл двойным кликом (нужно иметь виртуальную машину Java).

3. Анонимность при проверке сайта на SQL-инъекции

Настройка Tor и Privoxy в Kali Linux

[Раздел в разработке]

Настройка Tor и Privoxy в Windows

[Раздел в разработке]

Настройки работы через прокси в jSQL Injection

[Раздел в разработке]

4. Проверка сайта на SQL-инъекции с jSQL Injection

Работа с программой крайне проста. Достаточно ввести адрес сайта и нажать ENTER.

На следующем скриншоте видно, что сайт уязвим сразу к трём видам SQL-инъекций (информация о них указана в правом нижнем углу). Кликая на названия инъекций можно переключить используемый метод:

Также нам уже выведены имеющиеся базы данных.

Можно посмотреть содержимое каждой таблицы:

Обычно, самым интересным в таблицах являются учётные данные администратора.

Если вам повезло и вы нашли данные администратора — то радоваться рано. Нужно ещё найти админку, куда эти данные вводить.

5. Поиск админок с jSQL Injection

Для этого переходите на следующую вкладку. Здесь нас встречает список возможных адресов. Можете выбрать одну или несколько страниц для проверки:

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

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

Это хеш. Расшифровать его можно брутфорсом. И… jSQL Injection имеет встроенный брутфорсер.

6. Брутфорсинг хешей с помощью jSQL Injection

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

Это не самый оптимальный вариант. Для того, чтобы стать гуру в расшифровке хешей, рекомендуется Книга «Продвинутый взлом паролей с *Hashcat» на русском языке.

Но, конечно, когда под рукой нет другой программы или нет времени на изучение, jSQL Injection со встроенной функцией брут-форса придётся очень кстати.

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

7. Операции с файлами после обнаружения SQL-инъекций

Кроме операций с базами данных — их чтение и модификация, в случае обнаружения SQL-инъекций возможно выполнение следующих файловых операций:

  • чтение файлов на сервере
  • выгрузка новых файлов на сервер
  • выгрузка шеллов на сервер

И всё это реализовано в jSQL Injection!

Есть ограничения — у SQL-сервера должны быть файловые привилегии. У разумных системных администраторов они отключены и доступа к файловой системе получить не удастся.

Наличие файловых привилегий достаточно просто проверить. Перейдите в одну из вкладок (чтение файлов, создание шелла, закачка нового файла) и попытайтесь выполнить одну из указанных операций.

Ещё очень важное замечание — нам нужно знать точный абсолютный путь до файла с которым мы будем работать — иначе ничего не получится.

Посмотрите на следующий скриншот:

На любую попытку операции с файлом нам отвечают: No FILE privilege (нет файловых привелегий). И ничего здесь поделать нельзя.

Если вместо этого у вас другая ошибка:

Это означает, что вы неправильно указали абсолютный путь, в который нужно записывать файл.

Для того, чтобы предположить абсолютный путь, нужно, как минимум, знать операционную систему на которой работает сервер. Для этого переключитесь к вкладке Network.

Такая запись (строка Win64) даёт основание нам предположить, что мы имеем дело с ОС Windows:

Здесь у нас какой-то из Unix (*BSD, Linux):

А здесь у нас CentOS:

В Windows типичной папкой для сайтов является C:\Server\data\htdocs\. Но, на самом деле, если кто-то «додумался» делать сервер на Windows, то, весьма вероятно, этот человек ничего не слышал о привилегиях. Поэтому начинать попытки стоит прямо с каталога C:/Windows/:

Как видим, всё прошло прекрасно с первого раза.

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

8. Массовая проверка сайтов на SQL-инъекции

И даже эта функция есть у jSQL Injection. Всё предельно просто — загружаете список сайтов (можно импортировать из файла), выбираете те, которые хотите проверить и нажимаете соответствующую кнопку для начала операции.

Вывод по jSQL Injection

jSQL Injection хороший, мощный инструмент для поиска и последующего использования найденных на сайтах SQL-инъекций. Его несомненные плюсы: простота использования, встроенные сопутствующие функции. jSQL Injection может стать лучшим другом новичка при анализе веб-сайтов.

Из недостатков я бы отметил невозможность редактирования баз данных (по крайней мере я этого функционала не нашёл). Как и у всех инструментов с графическим интерфейсом, к недостаткам этой программы можно приписать невозможность использования в скриптах. Тем не менее некоторая автоматизация возможна и в этой программе — благодаря встроенной функции массовой проверки сайтов.

Программой jSQL Injection пользоваться значительно удобнее чем sqlmap. Но sqlmap поддерживает больше видов SQL-инъекций, имеет опции для работы с файловыми файерволами и некоторые другие функции.

Итог: jSQL Injection — лучший друг начинающего хакера.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Последнее обновление mac os sierra
  • После установки windows mac os не загружается
  • После установки mac os не грузится с жесткого диска
  • После перезагрузки mac os не запускается
  • После обновления mac os не работает почта