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-инъекций возможно выполнение следующих файловых операций:
- чтение файлов на сервере
- выгрузка новых файлов на сервер
- выгрузка шеллов на сервер
Есть ограничения — у 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
Код:
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)
Код:
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
Как видим, всё прошло прекрасно с первого раза.
Но вот сами шеллы jSQL Injection у меня вызывают сомнения. Если есть файловые привилегии, то вы вполне можете закачать что-нибудь с веб-интерфейсом.
8. Массовая проверка сайтов на SQL-инъекции
И даже эта функция есть у jSQL Injection. Всё предельно просто — загружаете список сайтов (можно импортировать из файла), выбираете те, которые хотите проверить и нажимаете соответствующую кнопку для начала операции.
Вывод по jSQL Injection
jSQL Injection хороший, мощный инструмент для поиска и последующего использования найденных на сайтах SQL-инъекций. Его несомненные плюсы: простота использования, встроенные сопутствующие функции. jSQL Injection может стать лучшим другом новичка при анализе веб-сайтов.
Из недостатков я бы отметил невозможность редактирования баз данных (по крайней мере я этого функционала не нашёл). Как и у всех инструментов с графическим интерфейсом, к недостаткам этой программы можно приписать невозможность использования в скриптах. Тем не менее некоторая автоматизация возможна и в этой программе — благодаря встроенной функции массовой проверки сайтов.
Программой jSQL Injection пользоваться значительно удобнее чем sqlmap. Но sqlmap поддерживает больше видов SQL-инъекций, имеет опции для работы с файловыми файерволами и некоторые другие функции.
Итог: jSQL Injection — лучший друг начинающего хакера.