You are here: Home » Анализ уязвимостей » jSQL Injection

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
  • Выбор типа базы данных

Домашняя страница: https://github.com/ron190/jsql-injection

Автор: ron190

Лицензия: GPLv3

Справка по jSQL Injection

Справа командной строки отсутствует.

Руководство по jSQL Injection

Страница man отсутствует.

Примеры запуска jSQL Injection

Инъекция и локальное тестирование

Для проведения инъекции нужен URL (адрес) локального или удалённого сервера и имя параметра для инжекта.

Для локального теста, вы можете сохранить следующий PHP код в файл ‘simulate_get.php’ и поместить его в каталоге вашего веб-сервера (например /www):

<?php

$connection = mysqli_connect("localhost", "root", "", "my_own_database");

$result = mysqli_query($connection, "SELECT * FROM my_own_table where my_own_field = " . $_GET['lib']); # time based
if (mysqli_num_rows($result) !== 0) {
    echo " something "; # blind
} else {
    die(mysqli_error($connection)); # error based
}

while ($row = mysqli_fetch_array($result)) {
    echo join(',', $row); # normal
}

Также нужно сделать базу данных "my_own_database" со следующим содержимым:

CREATE TABLE `my_own_table` (
  `my_own_field` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `my_own_table` (`my_own_field`) VALUES (34); 

Введите в программу адрес сайта:

http://localhost/simulate_get.php?lib=34

и, наконец, нажмите Ввод для чтения локальной базы данных:

10

Установка jSQL Injection

Программа предустановлена в Kali Linux.

Если у вас устаревшая версия, то смотрите следующий раздел для скачивания/установки новой версии.

Установка jSQL Injection в Linux

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

Установка jSQL Injection в Windows

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

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

Скриншоты jSQL Injection

01

02

03

Инструкции по jSQL Injection

Рекомендуемые статьи: