Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
isr-sqlget — ISR-sqlget Это инструмент для слепой SQL-инъекции, разработанный на Perl. | Kitploit
Инструменты/GitHubGitHub/infobyte/isr-sqlget
Анализ уязвимостейЭксплуатация веб-приложенийТестирование на ПроникновениеБезопасность Баз Данных
GitHubinfobyte/isr-sqlget

isr-sqlget

ISR-sqlget Это инструмент для слепой SQL-инъекции, разработанный на Perl.

Репозиторий
14141813 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

-- ISR - Infobyte Security Research -- | ISR-sqlget | www.infobytesec.com |

..:: ОПИСАНИЕ

ISR-sqlget: Это инструмент для слепой SQL-инъекции, разработанный на Perl. Он позволяет получать схемы баз данных и строки таблиц. С помощью одного GET/POST запроса можно незаметно получить структуру базы данных, а с помощью одного GET/POST запроса — выгрузить каждую строку таблицы в CSV-подобный файл.

Поддерживаемые базы данных:

- IBM DB2
- Microsoft SQL Server
- Oracle
- Postgres
- Mysql
- IBM Informix
- Sybase
- Hsqldb (www.hsqldb.org)
- Mimer (www.mimer.com)
- Pervasive (www.pervasive.com)
- Virtuoso (virtuoso.openlinksw.com)
- SQLite
- Interbase/Yaffil/Firebird (Borland)
- H2 (http://www.h2database.com)
- Mckoi (http://mckoi.com/database/)
- Ingres (http://www.ingres.com)
- MonetDB (http://www.monetdb.nl)
- MaxDB (www.mysql.com/products/maxdb/)
- ThinkSQL (http://www.thinksql.co.uk/)    
- SQLBase (http://www.unify.com)

Средства обхода:

- Кодирование Unicode полной/половинной ширины
- Обход нестандартных CR в Apache
- Обход mod_security
- Случайное преобразование запроса в верхний регистр
- PHP Magicquotes: кодирование каждой строки с помощью функции CHR базы данных или аналогичной
- Преобразование запросов в шестнадцатеричные значения
- Избегание замены пробела на непробельные символы, такие как /**/ или табуляция (\t)
- Избегание конкатенации через || или + с помощью функции concat базы данных или аналогичной
- Случайный user-agent
- Случайный proxy-сервер
- Случайная задержка запроса

Общие возможности:

- Чёрный список загрузки схемы базы данных
- Поддержка массива cookie
- Поддержка SSL
- Поддержка proxy-сервера
- Выгрузка информации о базе данных в формате csv

Отчётность:

- Графическое представление структуры базы данных для создания впечатляющих отчётов для руководства
- Требуется библиотека Graphviz (http://www.graphviz.org/)

..:: ИСПОЛЬЗОВАНИЕ

Инструменту требуется следующая информация:

  • : Какое действие выполнить?
  • : Какой сеанс?

Возможные ДЕЙСТВИЯ:

Сначала:
1. Получить схему базы данных.

Затем:
2.a Получить строки таблиц (формат csv).
2.b Получить графическую схему базы данных.

..:: Пример:

Цель: http://target.infobytesec.com/helloworld.php?id=

Исходный код helloworld.php:

"; while ($tr = $database->fetch_row()) { print ""; print $tr['name']; print ""; } print ""; ?>

Прочитайте пример сеанса (конфигурационный файл): ./helloworld.pm

Получить схему базы данных:

; bash# ./ISR-sqlget.pl -s -n helloworld ; -------------------------------------------------- ; Action: Get dbschema, Session name: helloworld ; -------------------------------------------------- ; ; http://target.infobytesec.com/helloworld.php?id=,id=1 union select 1,COALESCE((select nspname from pg_namespace ; where a.relnamespace =pg_namespace.oid),'0'::text)||'[]'||COALESCE(relname,'0'::text)||'[]'||COALESCE(attname,'0'::text); ; ||'[__]'||COALESCE((select typname from pg_type where oid=b.atttypid),'0'::text) from (pg_attribute b JOIN pg_class a ON ; (a.oid = b.attrelid)) where (attnum > 0 and ((a.relkind = 'r'::"char") OR (a.relkind = 's'::"char"))) --' ; from sqlite_master where type='table' --,GET ; ; bash#

Это создаст локальный файл схемы в: ./template/helloworld.dbschema

Затем получить строки таблиц:

; bash# ./ISR-sqlget.pl -d -n helloworld ;-------------------------------------------------- ;Action: Get DBDATA, Session name: helloworld ;-------------------------------------------------- ;-------------------------------------------------- ;Action: Get DBDATA, Session name: helloworld, DbSchema: helloworld.dbschema ;-------------------------------------------------- ;------------------------------------------------------------------------------------------------------------------------------------------------------ ;http://target.infobyte.com.ar/helloworld.php?id=,id=1 union all select id||'[]'||name||'[]'||address from ;company.clients --,GET ;Save source table: ./datos/helloworld.company.clients.sql.html ;Save csv table: ./datos/helloworld.company.clients.csv ;------------------------------------------------------------------------------------------------------------------------------ ;.....

В каталоге "./datos/" для каждой таблицы вы получите два файла:

[sessionname].[database].[table].sql.html # исходный html [sessionname].[database].[table].csv # значения, разделённые запятыми

Обратите внимание, что "./datos" можно указать с помощью параметра $conf::outputdb в конфигурационном файле сеанса.

..:: Дополнительно

Инструмент использует только один тип столбца text/varchar/etc в SQL-запросе SELECT. С помощью выражений UNION вы можете получить «в этом столбце» всю схему базы данных, используя "[__]" в качестве разделителя.

Когда вы уже сохранили локальную схему базы данных, вы сможете:

1.a Получить строки таблиц: Используя ту же технику, вы можете получить все строки каждой таблицы в базе данных; столбцы с типами данных, несовместимыми с text, преобразуются в тип text с помощью собственных функций базы данных.

1.b Получить графическую схему базы данных.

Инструмент использует для каждого действия конфигурационный файл сеанса. Этот конфигурационный файл определяет необходимые параметры для эксплуатации SQL-инъекции. Параметр @conf::path задаёт способ разбора необработанного HTML для работы с инструментом.

Подробности справки:

Использование: ./ISR-sqlget.pl [ACTION] [OPTIONS]

Действие: -c: Проверить модуль разбора -t: Получить тестовую страницу -a: Получить имена всех баз данных (только mssql) -s: Получить структуру(ы) базы(баз) данных -d: Получить информацию о базе(ах) данных (формат csv) -g: Графическая структура базы данных (формат gif)

Опции: -n: Имя сеанса -p: (Используйте с действием -c, укажите исходную страницу для проверки модуля); По умолчанию ./template/$SESSION.testpage -v: Подробный вывод -h: Справка

-t: Используя файл сеанса, вы получаете короткую системную таблицу данных для использования с действием "-c" для последующего разбора необработанного HTML.

-c: По умолчанию используется ./template/[session-name].testpage. Он используется для разработки и тестирования разбора необработанного HTML. Вы можете выбрать другой HTML-файл с помощью опции "-p".

-a: Все СУБД используют следующий порядок для получения строк таблиц: 1. "-s" получить структуру (сохраняет схему базы данных в локальный файл). 2. "-d" получить данные таблиц.

Из-за системных таблиц MSSQL необходимо добавить предварительный шаг:
1. "-a" Получить имена всех баз данных /schema/catalog (сохраняет имена в локальный файл).
2. "-s" получить структуру (сохраняет схему базы данных в локальный файл).
3. "-d" получить данные таблиц.

-s: получить структуру (сохраняет схему базы данных в локальный файл).
-d: получить данные таблиц.

-g: Используя ранее полученный локальный файл схемы базы данных, получить графическую схему базы данных (формат gif).

-n: Указывает имя конфигурационного файла сеанса.

..:: Примечания

./pmschanges.txt: Мы используем модифицированную версию LWP, Net::HTTP, которая включает методы и спецификации CRLs. В этом файле объясняются модификации.

./dbs/isr_*: Каждый модуль базы данных имеет переменную @space, которая определяет тип допустимого пробела. Пример: my @space=(' ',"\t","/**/"); #all spaces

..:: Параметры конфигурационного файла сеанса:

Скачать инструмент