This page has been robot translated, sorry for typos if any. Original content here.

SQL Injection Tool 4

Sofort werde ich sagen, dass eine Änderung aufgetreten ist. Die Stelle, an der die Abfragen eingefügt werden, ist mit {SQLINJ} markiert. Wenn der Parameter getid anfällig ist , schreiben wir an die URL

http://localhost/test.php?getid=1{SQLINJ}
und wenn es sich um einen Textparameter handelt, lautet die URL

http://localhost/test.php?getid=1'{SQLINJ}
Nun, alles andere scheint tatsächlich derjenige zu sein, der es herausfinden will.

Das Programm kann von Antivirenprogrammen wie beispielsweise Kaspersky Antivirus 7.0 als HackTool definiert werden
Erkennungsbericht: Malware HackTool.Win32.SQLInject.i 4 Datei: s-tool.exe


software.gif
SQL Injection Tool 4
sipt4.rar [2437KB]

SQL Injection TooL 3 Handbuch

1. Einleitung.
Im Allgemeinen haben die Hände endlich den Punkt erreicht, an dem sie ein Handbuch für meinen Prog geschrieben haben. Für 95% der Fragen zum Programm finden Sie hier die Antwort.

2. Beginnen Sie mit.

Das erste, was Sie in die URL-Zeile eingeben müssen, ist der Pfad zum anfälligen Skript, der HTTP-Server-Port, konfigurieren Sie das Programm für die Arbeit mit dem Proxyserver auf der Registerkarte EINSTELLUNGEN -> HAUPT , stellen Sie das Zeitlimit für die Serverantwort auf der Registerkarte EINSTELLUNGEN -> HAUPT in Millisekunden ein und wählen Sie die Angriffsmethode n. 2.1.

2.1.1 GET-Methode
Die Methode wird verwendet, wenn die Injektion im Parameter GET vorhanden ist.
Code: Beispiel: http://www.target.ru/vulnscript.php?id=1
Wenn der Parameter id anfällig ist, hat die Anforderung an den Server die Form
Code: http://www.target.ru/vulnscript.php?id=1{SQL}

2.1.2 Methode GET (With Cookie)
Die Methode wird verwendet, wenn die Injektion in Cookies vorhanden ist, aber GET verwendet wird.
Code: Beispiel: http://www.target.ru/vulnscript.php?id=1
Wenn der VulnCook-Parameter in Cookies anfällig ist, hat die Anforderung an den Server die Form

Code: GET /vulnscript.php?id=1 HTTP / 1.0
Host: www.target.ru
Cookie: VulnCook = {SQL}
Verbindung: Schließen

Es ist zu beachten, dass bei Verwendung mehrerer Parameter von Cookies alle unverwundbaren Parameter in die Tabelle eingegeben werden, die beim Klicken auf die Schaltfläche Cookie-Parameter angezeigt wird. Der verwundbare Parameter wird in das Feld Verwundbarer Parameter eingegeben, und sein üblicher Wert wird in das Feld Wert eingegeben. Dabei wird dasselbe Prinzip angewendet POST-Parameter.

2.1.3 Cookie-Methode (GET)
Die Methode wird verwendet, wenn die Injektion im Parameter GET vorhanden ist, aber ein bestimmtes Cookie (NeedCook) im Header an den Server gesendet werden muss, beispielsweise zur Autorisierung
Code: Beispiel: http://www.target.ru/vulnscript.php?id=1{SQL}
Wenn der Parameter id anfällig ist, hat die Anforderung an den Server die Form

Code: GET /vulnscript.php?id=1{SQL} HTTP / 1.0
Host: www.target.ru
Cookie: NeedCook = Phpsession
Verbindung: Schließen

2.1.4 POST-Methode
Die Methode wird verwendet, wenn die Injektion im POST-Parameter vorhanden ist.
Code: Beispiel: http://www.target.ru/vulnscript.php
Wenn der Parameter id anfällig ist, hat die Anforderung an den Server die Form

Code: POST /vulnscript.php?id=1 HTTP / 1.0
Host : www.target.ru
Verbindung: Schließen

ID = {SQL}

2.1.5 Die POST-Methode (mit Cookie) ist ein sehr seltener Fall.
Die Methode wird verwendet, wenn die Injektion in Cookies vorhanden ist, aber POST verwendet wird.
Code: Beispiel: http://www.target.ru/vulnscript.php
Wenn der VulnCook-Parameter in Cookies anfällig ist, hat die Anforderung an den Server die Form

Code: POST /vulnscript.php HTTP / 1.0
Host: www.target.ru
Cookie: VulnCook = {SQL}
Verbindung: Schließen

2.1.6 Cookie-Methode (POST)
Die Methode wird verwendet, wenn die Injektion im POST-Parameter vorhanden ist, aber ein bestimmtes Cookie (NeedCook) im Header an den Server gesendet werden muss, z. B. zur Autorisierung
Code: Beispiel: http://www.target.ru/vulnscript.php
Wenn der Parameter id anfällig ist, hat die Anforderung an den Server die Form

Code: POST /vulnscript.php?id=1{SQL} HTTP / 1.0
Host: www.target.ru
Cookie: NeedCook = Phpsession
Verbindung: Schließen

id = 1 {SQL}

2.2 Schlüsselwort oder Phrase (String-Textfeld)

Hier stellen wir das Wort vor, das wir auf diese Weise finden können.

Beispiel für die GET-Methode
Zuerst schauen wir
Code: http://www.target.ru/vulnscript.php?id=1
Dann schauen wir
Code: http://www.target.ru/vulnscript.php?id=2
wir finden was hier ist
Code: http://www.target.ru/vulnscript.php?id=1
was ist hier nicht (vergleiche sozusagen)
Code: http://www.target.ru/vulnscript.php?id=2
In der Nähe befindet sich ein Feld, in dem der Wert GEFUNDEN und NICHT GEFUNDEN steht. Es muss lediglich eine Suchmethode ausgewählt werden.

GEFUNDEN - Dieser Code oder diese Sätze werden als Grundlage für die Richtigkeit herangezogen (die positive Schlussfolgerung, dass die Injektion korrekt durchgeführt wurde).

NICHT GEFUNDEN - Dieser Code oder Ausdruck wird als Grundlage für NICHT-Korrektheit herangezogen .
(auch eine positive Schlussfolgerung, dass die Injektion richtig gemacht wurde)

TIPP: Um die Suche zu automatisieren, können Sie die Schaltfläche AUTO DETERMINE verwenden. Es ist jedoch zu beachten, dass möglicherweise eine falsche Definition oder eine falsche Definition vorliegt , wenn sich das Schlüsselwort in den Tags befindet.

2.3 Das Kontrollkästchen Use Basic Authorization und die Textfelder Login und Password werden verwendet, um die Eingabe bestimmter Stellen auf der Site oder den Zugriff auf Dateien zu autorisieren.

3.1 Als nächstes müssen Sie die Anzahl der Felder bestimmen, die in der Abfrage an die Datenbank verwendet werden. Klicken Sie dazu auf die Schaltfläche "LET KNOW QUANTITY"

Es gibt verschiedene Optionen zum Rendern:

3.1.1 Auswahlmenü "USE METHOD"
Hier können Sie festlegen, mit welcher Methode die Berechnung durchgeführt werden soll
- UNION SELECT
- BESTELLEN NACH
- GROUP BY
Im Allgemeinen ist die häufigste Methode ORDER BY und UNION SELECT.
Die bevorzugte Methode für das Programm ist jedoch UNION SELECT, da diese Methode sofort die Ausgabefelder (Textfeld FIELD SUPPORTS PRINTING ) bestimmt, die für mehrere Funktionen des Programms erforderlich sind.

Wenn Sie die Anzahl der Abfragefelder mit den Methoden ORDER BY und GROUP BY ermittelt und erfolgreich ermittelt haben, sollten Sie die Startanzahl der Felder für die Suche und die Endanzahl der Felder angeben, die der Anzahl der gefundenen Felder entspricht, und die Methode UNION SELECT auswählen, um Felder mit Ausgabe zu definieren, und auf klicken "LET KNOW QUANTITY" noch einmal.

3.1.2 Kontrollkästchen Unterstützungsfelder mit LIMIT festlegen
Es wird als alternative Methode zur Suche nach Feldern mit Ausgabe benötigt.

HINWEIS: Sie können den Wert des anfälligen Parameters auch durch einen nicht vorhandenen Wert ersetzen, um die Felder mit der Ausgabe zu definieren, und dies wiederum mit dem Häkchen 3.1.2 kombinieren

Wenn Sie nach erfolgreicher Auswahl der Anzahl der Felder die Methode GET verwenden, wird durch Klicken auf die Schaltfläche "Im Browser anzeigen" eine Zeile im Feld Arbeits- URL angezeigt, die im Browser geöffnet wird.

4.1 Datenbankidentifikation (SQL Injections -> Identifying DB)
4.1.1 Art der Datenbank - Derzeit kann das Programm zwei Arten von Datenbanken bestimmen, nämlich MySQL und MSSQL

4.1.2 USER () ist der Name des Datenbankbenutzers, in dessen Auftrag die Verbindung zur Datenbank hergestellt wird

Es gibt 3 Optionen für die Definition.

UNION ist die akzeptabelste Methode, um zu bestimmen, dass dem Server eine Anforderung gesendet wird, den gesamten Wert auf einmal zu bestimmen.

NEHMEN SIE EIN SYMBOL - Zeichenweise Definition, nimmt jeweils ein Zeichen.
Darüber hinaus kann das Intervall auf der Registerkarte Einstellungen festgelegt werden.
BRUTE - Charakter Definition, schlägt den ganzen Abfluss.

Beide Optionen, zur Verwendung in MySQL 3 oder wenn es nicht möglich ist, die Standardmethoden zu bestimmen. Na ja, oder für Kamikaze.

4.1.3 DATABASE () - Der Name der Datenbank, mit der das Skript verbunden ist, um die Anforderung auszuführen.
Die Arbeitsweise ist ähnlich wie bei USER () S.4.1.2

4.1.4 VERSION () - Die Version der Datenbank, mit der das Skript verbunden ist, um die Anforderung auszuführen.
Die Arbeitsweise ist ähnlich wie bei USER () S.4.1.2

4.1.5 Das Dropdown-Menü CONVERT kann bei der Bestimmung der Werte mit UNION hilfreich sein, wenn die Basis eine Codierung verwendet und die Werte USER (), DATABASE (), VERSION () eine andere.

5.1 Brut-Tabellen- und -Feldnamen.
(SQL-Injektionen -> DB identifizieren -> MySQL / MSSQL)

Sucht nach Namen, wie oben erwähnt. +
Für eine erfolgreiche Suche sollten Sie die Anzahl der Felder wie in Abschnitt 3.1.1 beschrieben ausgewählt haben.

Hier werde ich darauf hinweisen, dass beim Sortieren Wörter aus externen Textwörterbüchern verwendet werden. Sie müssen daher vor Beginn der Arbeit mit der Registerkarte EINSTELLUNGEN -> WÖRTERBUCH verbunden werden .
Wörterbücher haben 4 Arten
- Tabellenwörterbuch
- Feldwörterbuch
- Präfixwörterbuch
- Suffix-Wörterbuch

HINWEIS : Sie können auf derselben Registerkarte bearbeitet werden.
.
Um Präfix- und Suffix-Wörterbücher zu verwenden, müssen Sie die entsprechenden Kontrollkästchen auf der Registerkarte aktivieren (SQL Injections -> Identifying DB -> MySQL / MSSQL).

"Präfix aus Datei verwenden, wenn Bruteforce-Tabellen und -Felder verwendet werden"
"Suffix aus Datei verwenden, wenn Bruteforce-Tabellen und -Felder"

Um ein Präfix oder Suffix dauerhaft zu verwenden, können Sie diese in die Felder Präfix und Suffix eingeben. Dann werden sie nicht aus Wörterbüchern entnommen.

Klicken Sie anschließend auf "GET TABLE NAMES".

Darüber hinaus sind die Programmeinstellungen nicht korrekt, wenn in dieser Liste alle Wörter aus dem Wörterbuch aufgeführt sind.

Nach einer erfolgreichen Suche wird die vorhandene Tabelle in der angegriffenen Datenbank angezeigt. Sie müssen die gewünschte Tabelle auswählen, damit der Name im grauen Feld oben angezeigt wird, und mit dem Durchsuchen der Tabelle fortfahren, um die Feldnamen zu finden, indem Sie auf die Schaltfläche GET FIELD NAMES klicken

HINWEIS : Sie können Feldnamen Präfixe und Suffixe aus Wörterbüchern hinzufügen. Das Programm fordert Sie dazu auf, wenn Sie auf die Schaltfläche „FELDNAMEN ERHALTEN“ klicken.

6.1 Abrufen von Tabellen- und Feldnamen mithilfe der Tabelle INFORMATION_SCHEMA.
(SQL Injections -> Identifying DB -> DUMP INF_SCH)
Tatsächlich für MySQL5 und MSSQL

Die Funktion funktioniert, wenn Sie mindestens ein Ausgabefeld haben und die Anzahl der Felder festgelegt ist.

Es gibt 2 Möglichkeiten.
- Nur Tabellennamen - Nur Tabellennamen abrufen
- Tabellen- und Spaltennamen - Abrufen der Namen von Tabellen und Spalten in diesen.

Es gibt auch einen Datenerfassungsbegrenzer, die obere Ebene ( FROM ) ist standardmäßig auf 16 eingestellt, da die ersten 15 Tabellen Standard sind und nicht viele Informationen enthalten.

Die Schaltfläche „GO DUMP“ startet den Datenerfassungsprozess.
Die erhaltenen Daten können durch Klicken auf die Schaltfläche "SAVE TO FILE" in eine Datei gespeichert werden

Es gibt ein Dropdown-Menü "Konvertieren" , dessen Inhalt und Bedienung identisch mit Abschnitt 4.1.5 ist

7.1 Zeichen rohe willkürliche Daten
(SQL-Injektionen -> OneChar BruteForce)
Eigentlich MySQL seit Version 4.1 und MSSQL.
Wird für zeichenweise Brute-Force-Daten verwendet

Das brutale Intervall wird von der Registerkarte EINSTELLUNGEN -> HAUPT übernommen .

Sie können Typabfragen verwenden, SELECT id FROM news

Der Button "Vorschau SQL-Abfrage" zeigt die vorläufige Anfrage an den Server

Die Schaltfläche "GET RESULT" startet den Brute-Prozess.

8.1 Abrufen von Daten aus der Datenbank. (SQL Injections -> Data BruteForce)
Aktuell für MySQL 4 und MSSQL

Die Funktion funktioniert, wenn Sie mindestens ein Ausgabefeld haben und die Anzahl der Felder festgelegt ist.

Zuerst müssen Sie das Feld Tabelle mit dem Namen der gewünschten Tabelle ausfüllen.
Als nächstes müssen Sie die Namen der erforderlichen Felder zur Liste hinzufügen, indem Sie diese Namen in das Feld unter der Liste eingeben und auf die Schaltfläche „FELD HINZUFÜGEN“ klicken.

Feldnamen können über die Registerkarten 5.1 und 6.1 abgerufen werden.

HINWEIS: Sie können unerwünschte Felder mit der Schaltfläche „FELD ENTFERNEN“ aus der Liste entfernen

Legen Sie als Nächstes die Start- und Endposition der Linie fest. Um die Richtigkeit der Einstellungen zu überprüfen, können Sie auf die Schaltfläche "TEST" klicken. Wenn alles in Ordnung ist, sollte der Wert der ausgewählten Felder, die durch einen Doppelpunkt ":" getrennt sind, in der Liste angezeigt werden, die der ersten Zeile in der Datenbank im Feld links von der Schaltfläche "TEST" entspricht

Wenn der Wert angezeigt wird, können Sie beginnen, Daten zu empfangen. Klicken Sie dazu auf "GET IT" .

Die erhaltenen Daten können durch Klicken auf die Schaltfläche "SAVE TO FILE" in eine Datei gespeichert werden

9.1 Rückverbindung von MSSQL
Wird verwendet, um eine Rückverbindung von der Datenbank herzustellen. In diesem Fall wird die Datenbankprozedur MSSQL master..xp_cmdshell verwendet, um die Rückverbindung herzustellen. Sie müssen die IP-Adresse in der Zeichenfolge überprüfen und den Pfad auf der Registerkarte SETTINGS -> MAIN auf NetCat setzen .

Bei Erfolg erhalten Sie eine Befehlskonsole, in der die Verbindung zum Server geöffnet wird.
10.1 Dateihandhabung

10.1.1 MySQL
Wird für die Arbeit mit Dateien über SQL Injection verwendet

10.1.1.1 Lesen einer Datei

Die Funktion funktioniert, wenn Sie mindestens ein Ausgabefeld haben und die Anzahl der Felder festgelegt ist.

Sie müssen den absoluten Pfad zur Datei auf dem Server im Feld des unteren Frames registrieren.

Beispiel: /home/user/public_hmtl/index.php

Und drücken Sie die "READ" -Taste. Bei erfolgreichem Lesen erscheint die Datei auf dem Bildschirm im Editorfenster, wo Sie diese Datei über den Menüpunkt "DATEI SPEICHERN" speichern können.

10.1.1.2 Datei auf den Server hochladen

Die Funktion funktioniert, wenn:
1) Sie haben mindestens ein Ausgabefeld
2) ermittelte die Anzahl der Felder.
3) BEI DER KONFIGURATION DES SERVERS MÜSSEN DIE ANGEBOTE NICHT ÜBERTRAGT WERDEN !!


Auch hier müssen Sie den absoluten Pfad zu der auf dem Server erstellten Datei in das Feld des oberen Frames schreiben.

Es gibt 2 Optionen zum Hochladen der Datei.
- UNION - verwendet INTO OUTFILE (Standardversion)
- ENCLOSED BY - wird in MySQL seit Version 3 verwendet (empfohlen, wenn Option 1 nicht funktioniert)

Der Text der Datei, die auf den Server hochgeladen werden soll, wird in das Textfeld unten eingegeben.

10.1.2 MSSQL
Alles erfolgt analog zu S.10.1.1

11.1 Terminal
Wird zum Senden beliebiger Pakete an den Server sowie zum Anzeigen der Serverantwort (Header und Antworttext) verwendet. Es gibt eine Suchfunktion im Körper.

Die Anfrage ist in "HTTP REQUEST" geschrieben
Der Antwortheader lautet "ANTWORT: HTTP HEADER".
Der Antworttext lautet "ANTWORT: HTTP-KÖRPER"

Senden einer Anfrage durch Drücken der Taste «ANFRAGE SENDEN»

12.1 Geschichte
Hier werden alle Serveranfragen und Zusatzinformationen angezeigt.
Es kann über den Menüpunkt "HISTORY -> SAVE LOG" gespeichert oder durch Anklicken derselben Stelle unter "HISTORY -> CLEAR LOG" gelöscht werden.

13.1 Einstellungen
13.1.1 Allgemein (Haupt)
Schnittstellenübersetzung (Pfad zur Sprachdatei).
Pfad für NetCat (Pfad zu NetCat) - wird in Abschnitt 9.1 verwendet
Proxy-Einstellungen
- Proxy verwenden
- IP-Adresse
- Hafen
Symbolintervall ( BruteForce-Symbolcode-Intervall ) - wird in 4.1.2-4.1.5 und 7.1 verwendet

Menü 1. Close SQL-Ausdruck (Close SQL) - wird verwendet, um die ursprüngliche Abfrage abzuschneiden, sodass kein Fehler auftritt.
Für jede Basis werden unterschiedliche "Shutters" verwendet.
- MySQL = / *
- MSSQL = -

Menü 2. Anführungszeichen in analog ändern (Anführungszeichen in ändern)
Wird verwendet, um das Filtern mit Skripten zu umgehen.

Menü 3. Leerzeichen auf analog ändern (Leerzeichen auf ändern)
Wird verwendet, um das Filtern mit Skripten zu umgehen.

Andere Eigenschaften:

Hauptmenü.

Double Tools - vergrößert das Programmfenster, Sie können die Programmregisterkarten beliebig zusammenstellen, zum Beispiel für jedes Fenster mit einem Terminal oder einer Historie, Codierern und Decodierern

Standardeinstellungen - Alle Programmeinstellungen werden zurückgesetzt.

STOP - stoppt das Programm.

Utilities-Bereich (Tools)

Enthält eine Vielzahl von String-Encodern und -Decodern wie HEX, BASE64, URL-LIKE, PHP CHR


Dein SQLHack.