Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
isr-sqlget — ISR-sqlget Es ist ein Blind-SQL-Injection-Tool, das in Perl entwickelt wurde. | Kitploit
Tools/GitHubGitHub/infobyte/isr-sqlget
SchwachstellenanalyseWebanwendungs-ExploitationPenetrationstestsDatenbanksicherheit
GitHubinfobyte/isr-sqlget

isr-sqlget

ISR-sqlget Es ist ein Blind-SQL-Injection-Tool, das in Perl entwickelt wurde.

Repository anzeigen
141414vor 13 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

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

..:: BESCHREIBUNG

ISR-sqlget: Es ist ein Tool für blinde SQL-Injektion, entwickelt in Perl. Es ermöglicht das Abrufen von Datenbankschemata und Tabellenzeilen. Mit einem einzelnen GET/POST können Sie die Datenbankstruktur unbemerkt auslesen, und mit einem einzelnen GET/POST können Sie jede Tabellenzeile in eine CSV-ähnliche Datei exportieren.

Unterstützte Datenbanken:

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

Umgehungsfunktionen:

- Unicode-Kodierung mit voller/halber Breite
- Apache-Bypass mit nicht standardkonformem CR
- mod_security-Bypass
- Transformation von Anfragen mit zufälliger Großschreibung
- PHP Magicquotes: Kodierung jedes Strings mithilfe der DB-CHR-Funktion oder Ähnlichem.
- Konvertierung von Anfragen in hexadezimale Werte
- Vermeidung der Nicht-Leerzeichen-Ersetzung durch /**/ oder Tabulator (\t)
- Vermeidung von Verkettungen ohne || oder + mithilfe der DB-CONCAT-Funktion oder Ähnlichem.
- Zufälliger User-Agent
- Zufälliger Proxy-Server
- Zufällige Verzögerung von Anfragen

Allgemeine Funktionen:

- Blacklist für den Download von Datenbankschemata
- Unterstützung für Cookie-Arrays
- SSL-Unterstützung
- Unterstützung für Proxy-Server
- Datenbankinformationen werden im CSV-Format ausgegeben

Berichterstattung:

- Graphische Darstellung der Datenbankstruktur zur Erstellung wirkungsvoller Management-Berichte; erfordert die Graphviz-Bibliothek (http://www.graphviz.org/)

..:: VERWENDUNG

Das Tool benötigt die folgenden Informationen:

  • : Aktion, die ausgeführt werden soll?
  • : Wo?

Die möglichen AKTIONEN sind:

Zuerst:
1. Datenbankschema abrufen.

Danach:
2.a Tabellenzeilen abrufen (CSV-Format).
2.b Grafik des Datenbankschemas abrufen.

..::Beispiel:

Ziel: http://target.infobytesec.com/helloworld.php?id=

Quellcode von helloworld.php:

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

Sitzungsbeispiel (Konfigurationsdatei) lesen: ./helloworld.pm

Datenbankschema abrufen:

; 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#

Dies erzeugt eine lokale Schema-Datei in: ./template/helloworld.dbschema

Danach die Tabellenzeilen abrufen:

; 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 ;------------------------------------------------------------------------------------------------------------------------------ ;.....

Im Verzeichnis "./datos/" finden Sie für jede Tabelle zwei Dateien wie folgt:

[sessionname].[database].[table].sql.html # html source [sessionname].[database].[table].csv # commad separated values

Beachten Sie, dass "./datos" mit dem Parameter $conf::outputdb in der Sitzungskonfigurationsdatei angegeben werden kann.

..:: Erweitert

Das Tool verwendet in der SELECT-SQL-Abfrage nur einen Spaltentyp text/varchar/ähnlich. Mit UNION-Anweisungen können Sie „in dieser Spalte“ das gesamte Datenbankschema abrufen, wobei „[__]“ als Trennzeichen dient.

Wenn Sie das lokale Datenbankschema bereits gespeichert haben, können Sie:

1.a Die Tabellenzeilen abrufen: Mit derselben Technik können Sie alle Zeilen jeder Tabelle in der Datenbank abrufen. Spaltentypen, die nicht mit text kompatibel sind, werden mithilfe eigener Datenbankfunktionen in den Datentyp text umgewandelt.

1.b Das grafische Datenbankschema abrufen.

Details zur Hilfe:

Usage: ./ISR-sqlget.pl [ACTION] [OPTIONS]

Action: -c: Check parser module -t: Get test page -a: Get all database names (only mssql) -s: Get database/s structure/s -d: Get database/s information/s (csv format) -g: Graphic structure of database (gif format)

Options: -n: Session name -p: (Use with -c action, specify src page to check the module); Default ./template/$SESSION.testpage -v: Verbose -h: Help

-t: Mit der Sitzungsdatei erhalten Sie eine kurze Datensystemtabelle, die mit der Aktion "-c" verwendet wird, um das rohe HTML später zu parsen.

-c: Standardmäßig wird ./template/[session-name].testpage verwendet. Es dient zum Entwickeln und Testen des Parsers für rohes HTML. Sie können mit der Option "-p" eine andere HTML-Datei auswählen.

-a: Alle DB-Engines verwenden die folgende Reihenfolge, um die Tabellenzeilen abzurufen: 1. "-s" Struktur abrufen (speichert das Datenbankschema in einer lokalen Datei). 2. "-d" Tabellendaten abrufen.

Aufgrund der MSSQL-Systemtabellen müssen wir einen vorherigen Schritt hinzufügen:
1. "-a" Alle Datenbanknamen von /schema/catalog abrufen (speichert die Namen in einer lokalen Datei).
2. "-s" Struktur abrufen (speichert das Datenbankschema in einer lokalen Datei).
3. "-d" Tabellendaten abrufen.

-s: Struktur abrufen (speichert das Datenbankschema in einer lokalen Datei). -d: Tabellendaten abrufen.

-g: Verwendet die zuvor erhaltene lokale Datenbankschema-Datei, um das grafische Datenbankschema (GIF-Format) zu erhalten.

-n: Gibt den Namen der Sitzungskonfigurationsdatei an.

..:: Hinweise

./pmschanges.txt: Wir verwenden eine modifizierte Version von LWP, Net::HTTP, die Methoden und CRL-Spezifikationen enthält. Diese Datei erklärt die Änderungen.

./dbs/isr_*: Jedes Datenbankmodul enthält die Variable @space, die den Typ des gültigen Leerzeichens angibt. Beispiel: my @space=(' ',"\t","/**/"); #all spaces

..:: Optionen der Sitzungsdatei:

@conf::path #Der Parameter @conf::path legt fest, wie das rohe HTML geparst wird, um mit dem Tool zu arbeiten. #Es verwendet eingebetteten Perl-Code mit HTML::TreeBuilder, um das rohe HTML zu parsen. #Die erste Konfiguration ist ein Baum-Array mit den benötigten HTML-Tag-Namen. Der letzte HTML-Tag-Name wird mit dem Perl-Code verarbeitet.

Siehe Beispiele in ./examples/ example[n].html session[n].pm

Tool herunterladen