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

  • Автор темы HHIDE_DUMP
  • Дата начала
  • Просмотры 1K
  • На форуме работает ручное одобрение пользователей. Это значит, что, если Ваша причина регистрации не соответствует тематике форума, а также Вы используете временную почту, Ваша учётная запись будет отклонена без возможности повторной регистрации. В дальнейшем - пожизненная блокировка обоих аккаунтов за создание мультиаккаунта.
  • Мы обновили Tor зеркало до v3!
    Для входа используйте следующий url: darkv3nw2...bzad.onion/
  • Мы вновь вернули telegram чат форуму, вступайте, общайтесь, задавайте любые вопросы как администрации, так и пользователям!
    Ссылка: https://t.me/chat_dark_time

HHIDE_DUMP

Гость
H

HHIDE_DUMP

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

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

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

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

Подборка уязвимый сред для практики по взлому сайтов:
  • bWAPP
  • Damn Vulnerable Web Application (DVWA)
  • Damn Vulnerable Web Services
  • OWASP Broken Web Applications Project
  • OWASP Mutillidae II
  • Samurai Web Testing Framework
  • Web Security Dojo

1. Поиск уязвимых к SQL-инъекциям сайтов.
Самым лучшим способом является поиск в Гугл по доркам. Эта таблица позаимствована с сайта
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
(шикарный сайт — я очень многому научился именно по нему):
Код:
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=
Открывайте сайты по одному из результатов поиска и пробуйте добавлять кавычку к переменной. Например, адрес сайта:

Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!


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

Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
'

Если появляется какое-либо сообщение об ошибке 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 ставится элементарно — в одну команду, то можно загрузить самую свежую с официального сайта:
Код:
wget https://github.com/`curl -s https://github.com/ron190/jsql-injection/releases | grep -E -o '/ron190/jsql-injection/releases/download/v[0-9]{1,2}.[0-9]{1,2}/jsql-injection-v[0-9]{1,2}.[0-9]{1,2}.jar' | head -n 1`
После загрузки запускаем так:
Код:
java -jar ./jsql-injection-v*.jar

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

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

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

Скачайте последнюю версию с официального сайта:
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!


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

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

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

Настройка Tor и Privoxy в Windows
[Раздел в разработке]

Настройки работы через прокси в jSQL Injection
[Раздел в разработке]




4. Проверка сайта на SQL-инъекции с jSQL Injection
Работа с программой крайне проста. Достаточно ввести адрес сайта и нажать ENTER.

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


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

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


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

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


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


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

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

8743b52063cd84097a65d1633f5c74f5

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


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

Это не самый оптимальный вариант. Для того, чтобы стать гуру в расшифровке хешей.

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


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


7. Операции с файлами после обнаружения SQL-инъекций
Кроме операций с базами данных — их чтение и модификация, в случае обнаружения SQL-инъекций возможно выполнение следующих файловых операций:
  • чтение файлов на сервере
  • выгрузка новых файлов на сервер
  • выгрузка шеллов на сервер
И всё это реализовано в jSQL Injection!

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

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

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

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


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

Если вместо этого у вас другая ошибка:
Код:
Problem writing into [название_каталога]


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

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

Такая запись (строка Win64) даёт основание нам предположить, что мы имеем дело с ОС Windows:
Код:
Keep-Alive: timeout=5, max=99

Server: Apache/2.4.17 (Win64) PHP/7.0.0RC6

Connection: Keep-Alive

Method: HTTP/1.1 200 OK

Content-Length: 353

Date: Fri, 11 Dec 2015 11:48:31 GMT

X-Powered-By: PHP/7.0.0RC6

Content-Type: text/html; charset=UTF-8
Здесь у нас какой-то из Unix (*BSD, Linux):
Код:
Transfer-Encoding: chunked

Date: Fri, 11 Dec 2015 11:57:02 GMT

Method: HTTP/1.1 200 OK

Keep-Alive: timeout=3, max=100

Connection: keep-alive

Content-Type: text/html

X-Powered-By: PHP/5.3.29

Server: Apache/2.2.31 (Unix)
А здесь у нас CentOS:
Код:
Method: HTTP/1.1 200 OK

Expires: Thu, 19 Nov 1981 08:52:00 GMT

Set-Cookie: PHPSESSID=9p60gtunrv7g41iurr814h9rd0; path=/

Connection: keep-alive

X-Cache-Lookup: MISS from t1.hoster.ru:6666

Server: Apache/2.2.15 (CentOS)

X-Powered-By: PHP/5.4.37

X-Cache: MISS from t1.hoster.ru

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

Pragma: no-cache

Date: Fri, 11 Dec 2015 12:08:54 GMT

Transfer-Encoding: chunked

Content-Type: text/html; charset=WINDOWS-1251
В 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 — лучший друг начинающего хакера.
 

О нас

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

    Dark-Time 2015 - 2024

    При поддержке: XenForo.Info

Быстрая навигация

Меню пользователя