Загрузка...

Instructions for using jSQL Injection - a multifunctional SQL injection exploitation program

Thread in Web vulnerabilities created by toyenowena Feb 25, 2017. 3616 views

  1. toyenowena
    toyenowena Topic starter Feb 25, 2017 Banned 132 Feb 10, 2017
    jSQL Injection может пригодиться в ситуациях, когда вас интересуют: поиск SQL-инъекций и админок, закачка шеллов, файлов и чтение содержимого файлов сервера, ****-форс хешей, массовая проверка сайтов, использование ****** и многое другое.

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

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

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

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

    1. Поиск уязвимых к SQL-инъекциям сайтов.
    Самым лучшим способом является поиск в Гугл по доркам.
    Code

    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=
    Открывайте сайты по одному из результатов поиска и пробуйте добавлять кавычку к переменной. Например, адрес сайта:

    http://rsite.ru/rub.php?id=5

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

    http://rsite.ru/rub.php?id=5'

    Если появляется какое-либо сообщение об ошибке 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 ставится элементарно — в одну команду, то можно загрузить самую свежую с официального сайта:
    Code
    https://github.com/ron190/jsql-injection/releases

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

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

    Скачайте последнюю версию с официального сайта: https://github.com/ron190/jsql-injection/releases

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

    3. Анонимность при проверке сайта на SQL-инъекции
    Настройка ****** в Kali Linux
    [Раздел в разработке]

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

    [IMG]

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

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

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

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

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

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

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

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

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

    8743b52063cd84097a65d1633f5c74f5

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

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

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

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

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

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




      • чтение файлов на сервере
      • выгрузка новых файлов на сервер
      • выгрузка шеллов на сервер
    И всё это реализовано в jSQL Injection!

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

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

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


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

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

    Если вместо этого у вас другая ошибка:
    Code
    Problem writing into [название_каталога]
    Это означает, что вы неправильно указали абсолютный путь, в который нужно записывать файл.

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

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

    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):
    Code

    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:
    Code

    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/:
    [IMG]
    Как видим, всё прошло прекрасно с первого раза.

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

    8. Массовая проверка сайтов на SQL-инъекции
    И даже эта функция есть у jSQL Injection. Всё предельно просто — загружаете список сайтов (можно импортировать из файла), выбираете те, которые хотите проверить и нажимаете соответствующую кнопку для начала операции.
    [IMG]
    Вывод по jSQL Injection
    jSQL Injection хороший, мощный инструмент для поиска и последующего использования найденных на сайтах SQL-инъекций. Его несомненные плюсы: простота использования, встроенные сопутствующие функции. jSQL Injection может стать лучшим другом новичка при анализе веб-сайтов.

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

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

    Итог: jSQL Injection — лучший друг начинающего хакера.
    #моястатья
     
  2. yasher1_inactive69485
    Если не копипаст, то очень даже годно!
     
  3. Limbo49005
    Limbo49005 Feb 25, 2017 ♛๑۩۩๑ VIP ๑۩۩๑♛ 3275 Sep 5, 2016
    Если сам , то крос , я бы не стал столько расписывать . хоть и не так уж и крутая тема . но всё же для новичков пойдёт .
     
Loading...
Top