- Инструменты Kali Linux
- Список инструментов для тестирования на проникновение и их описание
- jSQL Injection
- Описание jSQL Injection
- Справка по jSQL Injection
- Руководство по jSQL Injection
- Примеры запуска jSQL Injection
- Инъекция и локальное тестирование
- Установка jSQL Injection
- Статья Использование SQLMAP на Kali Linux: взлом веб-сайтов и баз данных через SQL-инъекции
Инструменты Kali Linux
Список инструментов для тестирования на проникновение и их описание
jSQL Injection
Описание jSQL Injection
jSQL Injection — это инструмент на Java для автоматической инъекции в базы данных sql.
jSQL Injection — это не требовательное к ресурсам приложение, используется для поиска информации о базах данных с удалённых серверов. Инструмент бесплатен, у него открытый исходный код, он является кросс-платформенным (Windows, Linux, Mac OS X, Solaris).
- Методы GET, POST, header, cookie
- Нормальный, основанный на ошибке, слепой, основанный на времени алгоритмы
- Автоматический выбор лучшего алгоритма
- Контроль многопоточности (старт/пауза/возобновление/стоп)
- Полоса прогресса
- Показать вызовы URL
- Простое уклонение
- Настройки прокси
- Дистанционное чтение файлов
- Имеются вебшеллы
- Терминал для команд вебшеллов
- Резервное копирование настроек
- Проверка обновлений
- Проверка административных панелей (страниц)
- Брут-форсер (md5 mysql…)
- Кодировщик (кодирование-декодирование base64 hex md5…)
- Групповая проверка множества сайтов
- Поддержка MySQL
- Поддерживает типы аутентификации: Basic, Digest, Negotiate, NTLM и Kerberos
- Выбор типа базы данных
Справка по jSQL Injection
Справа командной строки отсутствует.
Руководство по jSQL Injection
Страница man отсутствует.
Примеры запуска jSQL Injection
Инъекция и локальное тестирование
Для проведения инъекции нужен URL (адрес) локального или удалённого сервера и имя параметра для инжекта.
Для локального теста, вы можете сохранить следующий PHP код в файл ‘simulate_get.php’ и поместить его в каталоге вашего веб-сервера (например /www):
Также нужно сделать базу данных «my_own_database» со следующим содержимым:
Введите в программу адрес сайта:
и, наконец, нажмите Ввод для чтения локальной базы данных:
Установка jSQL Injection
Программа предустановлена в Kali Linux.
Если у вас устаревшая версия, то смотрите следующий раздел для скачивания/установки новой версии.
Установка jSQL Injection в Linux
Установка jSQL Injection в Windows
Запустите скаченный файл двойным кликом (нужно иметь виртуальную машину Java).
Источник
Статья Использование SQLMAP на Kali Linux: взлом веб-сайтов и баз данных через SQL-инъекции
Если вы являетесь пользователем Windows, то обратитесь к статье “Как запустить sqlmap на Windows“. А если вы обнаружили уязвимости в ваших скриптах, то обратитесь к статье “Защита сайта от взлома: предотвращение SQL-инъекций“.
Каждый раз, рассказывая об очередной программе, присутствующей в Kali Linux, я задумываюсь, какие последствия это может вызвать? Эта статья была готова уже давно, но я всё как-то не решался опубликовать её. На самом деле, те, кто взламывают чужие сайты, уже давно и сами знают как пользоваться этой и многими другими программами. Зато среди (начинающих) программистов встречается огромное количество тех, кто вообще будто бы не задумывается о безопасности своих веб-приложений. Я прекрасно понимаю эту ситуацию, когда ты изучаешь PHP, то большим достижением и облегчением является то, что твоя программа вообще работает! Времени всегда не хватает и в этих условиях изучать теорию защиты веб-приложений кажется просто неразумным расточительством.
В этой статье я рассказываю о программе SQLMAP, которая поможет проверить ваши скрипты на уязвимость к SQL-инъекциям.
В общем, я надеюсь, что знания, полученные в этой статье, будут использоваться этично и с пользой для всех.
SQL-инъекция — это техника внедрения кода, используемая для атаки на приложение, управляющее данными, в которой (в технике) вредоносные SQL запросы вставляются в поле ввода для исполнения (например, для получения атакующим содержания дампа базы данных). SQL-инъекция должна эксплуатировать уязвимость в безопасности программ, например, когда пользовательский ввод некорректно фильтруется на наличие различных специфичных символов, включённых в SQL запросы, или когда пользовательский ввод не типизирован строго и выполняется неожиданным образом. SQL-инъекция — это самый широко известный вектор атаки не веб-сайты, но она может быть использована для атаки на любые типы SQL базы данных. В этой инструкции я покажу вам как с помощью программы SQLMAP эксплуатировать SQL-инъекции на Kali Linux и, в конечном итоге, хакнуть веб-сайт (точнее говоря, базу данных) и извлечь имена пользователей и пароли на Kali Linux.
На всякий случай: Если у вас еще нет Kali Linux, то о том где скачать и как установить читайте в статье «Как установить Kali Linux: подробная инструкция для установки на компьютер и в виртуальную машину» – это одна из популярнейших статей на портале. А всевозможные мануалы, инструкции использования ищите на сайте codeby.net по тэгу Kali Linux.
Что такое SQLMAP
sqlmap это инструмент с открытым кодом для тестирования на проникновение, который автоматизирует процесс выявления и эксплуатирования уязвимостей для SQL-инъекций и захвата серверов баз данных. Он поставляется с мощным движком анализа, большим количеством специфичных функций для максимального тестирования на проникновения и широким спектром возможностей простирающихся от выявления типа баз данных по «отпечаткам», охватывает получение информации из базы данных и вплоть до доступа к файловой системе и выполнения команд на ОС через нестандартный доступ к системе.
Особенности
- Полная поддержка систем управления базами данных MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase и SAP MaxDB.
- Полная поддержка шести техник SQL-инъекции: слепая на логической основе, основанная на времени слепая, основанная на ошибках, UNION запрос, сложные запросы и нестандартный доступ.
- Поддержка прямого соединения к базе данных без прохода через SQL-инъекцию путём предоставления полномочий СУБД, IP адреса, порта и имени базы данных.
- Поддержка перебора пользователей, хешей паролей, привилегий, ролей, баз данных, таблиц и колонок.
- Автоматическое распознавание формата хеша пароля и поддержка их взлома используя основанную на словаре атаку.
- Поддержка, по выбору пользователя, создания дампа всех таблиц, определённого их диапазона или специфичных колонок.
- Пользователь также может выбрать создание дампа только диапазона символов каждого вхождения колонки.
- Поддержка поиска специфичных имён баз данных, специфичных таблиц по полным базам данных или по отдельным колонкам всех таблиц баз данных. Это полезно, например, для идентификации таблиц, содержащих учётные данные приложения, где соответствующие имена колонок содержат строки вроде name и pass (имя и пароль).
- Поддержка загрузки и выгрузки любого файл с (на) файловую системы сервера базы данных, когда используются такие программы баз данных как MySQL, PostgreSQL или Microsoft SQL Server.
- Поддержка выполнения произвольных команд и получение их стандартного вывода на операционной системе, под которой запущен сервер базы данных, когда используются такие программы баз данных как MySQL, PostgreSQL и Microsoft SQL Server.
- Поддержка установки нестандартного соединения (out-of-band) TCP между атакующей машиной и операционной системой на которой работает база данных. Этим каналом могут быть интеративные командные запросы, сессия Meterpreter или сессия графического пользовательского интерфейса (VNC) — по выбору пользователя.
- Поддержка процесса повышения прав пользователя через команды Metasploit передаваемые Meterpreter.
Шаг 1: Ищем уязвимый веб-сайт
Это, как правило, самое творческое действие и занимает больше времени, чем другие шаги. Те, кто знает как использовать Google Dorks уже понимают, что нужно делать. Но в том случае, если вы не знаете, то я собрал вместе ряд строк, которые вы можете искать в Гугл. Просто скопируйте-вставьте любую из этих строк в Гугл, и Гугл покажет вам то, что сумел найти.
Шаг 1.а: Строки Google Dorks для поиска уязвимых к SQLMAP SQL веб-сайтов
Этот список действительно большой. У меня заняло много времени для его сбора. Если вы понимаете принцип отбора, тогда вы можете дополнить его. Оставляйте ваши дополнения к списку в комментариях, я добавлю их сюда.
Google Dork string Column 1 | Google Dork string Column 2 | Google Dork string Column 3 |
---|---|---|
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:eek:pinions.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:eek:ffer.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:eek:gl_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:eek:pinions.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= |
Шаг 1.б: Начальная проверка для подтверждения, уязвим ли веб-сайт к SQLMAP SQL-инъекции
Для каждой строки, которые приведены выше, вы найдёте сотни поисковых результатов. Как узнать, которые из них действительно уязвимы к SQLMAP SQL-инъекции. Есть множество способов и я уверен, что люди будут спорить, какой из них лучший, но для меня следующий является самым простым и наиболее убедительным.
Допустим вы ищите, используя эту строку inurl:rubrika.php?idr=, и один из веб-сайтов в результатах поиска вроде этого:
Просто добавьте одиночную кавычку ‘ в конец URL. (Просто для уверенности ” – это двойная кавычка, а ‘ – это одиночная кавычка).
Следовательно сейчас адрес будет примерно таким:
Если страница вернёт SQL ошибку, значит страница уязвима для SQLMAP SQL-инъекции. Если она загружается или перенаправляет вас на другую страницу, переходите к следующей странице в результатах поиска Гугл.
Посмотрите на скриншот ниже.
Примеры ошибок SQLi от различных баз данных и языков
Источник