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

SQL-Injection-Tool 4

Ich muss sagen , dass es eine Änderung war, der Ort , wo die Anfrage Anmerkungen eingefügt wird {SQLINJ}, das heißt, wenn der verletzliche Parameter getId, dann in der URL schreiben

http://localhost/test.php?getid=1{SQLINJ}
und wenn es sich um ein Textparameter der URL ist wird die

http://localhost/test.php?getid=1'{SQLINJ}
na ja, alles andere scheint in der Tat, die klären will.

Das Programm kann anivirusami so wie Kaspersky Antivirus 7.0 als Hack bestimmen
Ein Bericht über die Entdeckung: Malware HackTool.Win32.SQLInject.i 4 Datei: s-tool.exe


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

Handbuch für SQL Injection TooL 3

1. Einleitung.
In der Regel erreicht das ist schließlich die Hände ein Handbuch für meinen prog zu schreiben. Also 95% der Fragen auf dem prog finden Sie die Antwort finden Sie hier.

2.Nachinaem juzat.

Das erste , was im URL - Pfad ein Programm zum verwundbar Skript, HTTP - Server - Port, richten Sie eingeben , mit arbeiten einen Proxy - Server auf der Registerkarte Einstellungen -> MAIN, den Timeout auf die Antwort des Servers Registerkarte Settings -> MAIN in Millisekunden und die Methode des Angriffs n wählen. 2.1.

2.1.1 GET - Methode
Das Verfahren wird verwendet, wenn die Injektion ist in den GET-Parametern.
Code: Beispiel: http://www.target.ru/vulnscript.php?id=1
Wenn der verletzlichen Parameter-ID, an den Server anfordern nimmt die Form
Code: http://www.target.ru/vulnscript.php?id=1{SQL}

2.1.2 GET - Methode (mit Cookie)
Das Verfahren wird verwendet, wenn die Injektion in einem Cookie vorhanden ist, aber die GET
Code: Beispiel: http://www.target.ru/vulnscript.php?id=1
Wenn der anfällige Parameter VulnCook in Cookies, Query nimmt der Server die Form

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

Es sollte beachtet werden , dass , wenn mehrere Cookie - Einstellungen, alle unverwundbar Parameter in die Tabelle eingetragen werden, die die Schaltfläche Cookies erscheint Parameter nach dem Pressen und der anfällige Parameter wird im Vulnerable Parameter und dessen Normalwert eingegeben wird in das Feld Wert tatsächlich das gleiche Prinzip verwendet wird , eingegeben für POST-Parameter.

2.1.3 Methode Plätzchen (GET)
Das Verfahren wird verwendet, wenn die Injektion in den GET-Parameter vorhanden ist, aber es ist notwendig, einen Server in einem bestimmten Cookie-Header (NeedCook), eine solche Genehmigung zu senden
Code: Beispiel: http://www.target.ru/vulnscript.php?id=1{SQL}
Wenn der verletzlichen Parameter-ID, an den Server anfordern nimmt die Form

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

2.1.4 POST - Methode
Das Verfahren wird verwendet, wenn die Injektion ist in den POST-Parametern.
Code: Beispiel: http://www.target.ru/vulnscript.php
Wenn der verletzlichen Parameter-ID, an den Server anfordern nimmt die Form

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

Id = {SQL}

2.1.5 POST - Methode (mit Cookie) -sehr seltenen Fall
Das Verfahren wird verwendet, wenn die Injektion in einem Cookie vorhanden ist, nutzt aber POST
Code: Beispiel: http://www.target.ru/vulnscript.php
Wenn der anfällige Parameter VulnCook in Cookies, Query nimmt der Server die Form

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

2.1.6 Cookie - Methode (POST)
Das Verfahren wird verwendet, wenn die Injektion in den POST-Parameter vorhanden ist, sollte aber in den Kopf bestimmte Cookies (NeedCook), eine solche Genehmigung an den Server gesendet werden
Code: Beispiel: http://www.target.ru/vulnscript.php
Wenn der verletzlichen Parameter-ID, an den Server anfordern nimmt die Form

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

id = 1 {} SQL

2.2 Schlüsselwort oder einen Satz (Textfeld String)

Dies führt zu einem Wort, das wir einen Weg finden können.

Beispiel GET-Methode,
Von Anfang zu sehen
Code: http://www.target.ru/vulnscript.php?id=1
dann schauen
Code: http://www.target.ru/vulnscript.php?id=2
wir feststellen, dass es hier
Code: http://www.target.ru/vulnscript.php?id=1
was nicht da ist (vergleiche sozusagen)
Code: http://www.target.ru/vulnscript.php?id=2
In der Nähe gibt es ein Feld , in dem ein Wert ist und fand das nicht gefunden wird , er muss nur die Suchmethode wählen,

GEFUNDEN - Dieses Stück Code oder ein als Grundlage Ausdruck für die korrekte (positive Schlussfolgerung , dass die Injektion richtig gemacht wird)

NOT FOUND - Dieses Stück Code oder eine Phrase als Grundlage genommen nicht korrekt ist
(Auch eine positive Schlussfolgerung, dass die Injektion wird korrekt)

TIPP: Um die Suche zu automatisieren, können Sie AUTO - Taste BESTIMMEN verwenden, aber es ist erwähnenswert, dass es eine falsche Identifizierung sein kann oder falsch definiert nicht , wenn ein Stück des Keywords innerhalb der Tags ist.

2.3 Checkbox Basic Authorization und Text Login und Passwort Felder sind ermächtigt werden , in einen bestimmten Ort oder Ort eingeben , um die Dateien zuzugreifen.

3.1 Darüber hinaus ist es notwendig, die Anzahl der Felder in der Abfrage an die Datenbank verwendet , um zu bestimmen, können Sie dies tun , indem Sie auf den Button «INFORMIEREN MENGE»

Es gibt mehrere Optionen für die Fehlkalkulation:

3.1.1 Dropdown-Menü «USE METHODE»
Hier können Sie bestimmen, welche Methode Fehler zu produzieren
- UNION SELECT
- ORDER BY
- GROUP BY
Im allgemeinen ist die am häufigsten verwendete Methode ist die ORDER BY und UNION SELECT
Aber die bevorzugte Methode ist , UNION SELECT zu programmieren, da diese Methode direkt das Ausgabefeld bestimmt (Textbox FIELD SUPPORT PRINTING), die für verschiedene Funktionen des Programms.

Es ist erwähnenswert, dass, wenn Sie die Anzahl der Felder, die die Abfragemethoden der ORDER BY und GROUP BY und erfolgreich identifiziert, gemessen, ist es notwendig, die Startnummer der Felder angeben, zu suchen und zu der gefundenen Zählung gleich beenden und UNION SELECT-Methode wählen Sie das Feld mit dem Ausgang, um zu bestimmen, und drücken Sie «KNOW MENGE LET» wieder.

3.1.2 Checkbox Bestimmen Suppots Druckfelder LIMIT
Es ist als Alternative benötigten Felder mit dem Abschluss zu suchen.

Hinweis: Sie können auch den Wert des verletzlichen Parameter ersetzen ist nicht ein vorhandener Wert des Feldes mit dem Ausgang, wieder die Kombination mit einem Häkchen 3.1.2 zu bestimmen

Nach einer erfolgreichen Auswahl der Anzahl der Felder, wenn Sie die GET - Methode verwenden, werden Sie eine Linie auf dem Gebiet der Arbeits URL haben, «Show in Browser» klicken Sie die Abfrage im Browser öffnen.

4.1 Identifikation Datenbank (SQL Injections -> Identifizierung DB)
4.1.1 Art der DB - Im Moment kann das Programm zwei Arten von Datenbank identifizieren ist MySQL und MSSQL

4.1.2 USER () - der Datenbankbenutzer , in deren Namen an die Datenbank anschließen

Es gibt drei Varianten der Definition.

UNION - die annehmbarste Art und Weise zu bestimmen , wann der Server diese Anforderung sendet einen Wert auf einmal zu bestimmen.

TAKE ONE SYMBOL - Zeichen für Zeichen Definition, Brutus ein Zeichen.
Darüber hinaus kann das Intervall in der Registerkarte Einstellungen angegeben werden.
BRUTE -posimvolnoe Definition, Brutus ganze Ablauf.

Beiden Varianten für den Einsatz in MySQL 3 oder keine Möglichkeit, die Standardverfahren zu bestimmen. Gut oder die Kamikaze.

4.1.3 DATABASE () - Name der Datenbank , die verbindet das Skript um die Abfrage auszuführen.
Die Funktionsweise ist ähnlich zu dem Benutzer () Para 4.1.2

4.1.4 VERSION () - Version der Datenbank , die an das Skript verbindet , um die Anforderung zu machen.
Die Funktionsweise ist ähnlich zu dem Benutzer () Para 4.1.2

4.1.5 CONVERT Dropdown - Menü bei der Bestimmung der Werte der Verwendung von UNION helfen kann, wenn die Datenbank eine einzelne Codierung verwendet und den Wert von USER (), DATABASE () VERSION () einem anderen verwenden.

5.1 Brutus Tabellennamen und Feldränder.
(SQL Injections -> Identifizierung von DB -> MySQL / MSSQL)

Es wird verwendet, um durch die Namen zu wiederholen, wie oben angegeben. +
Für eine erfolgreiche Brute-Force, sollten Sie die Anzahl der Felder haben abgestimmt, wie in Abschnitt 3.1.1

Hier stelle ich fest , dass bei der Verwendung von Worten von externen Textwörter iteriert, so dass sie vor dem Start müssen Sie die Registerkarte Einstellungen verbinden -> Wörterbuch.
Wörterbücher sind 4 Typen
- Tabellen Dictionary (Tabelle Wörterbuch)
- Wörterbuch Felder (Field - Wörterbuch)
- Wörterbuch prefix (Präfix - Wörterbuch)
- Wörterbuch Suffix (Suffix - Wörterbuch)

HINWEIS: Auf dem gleichen Registerkarte, können Sie sie bearbeiten
.
So verwenden Wörterbücher der Präfixe und Suffixe , sollten Sie die entsprechenden Kontrollkästchen in der Registerkarte markieren (SQL Injections -> Identifizierung von DB - > MySQL / MSSQL)

«Verwenden Präfix aus der Datei , wenn Brute - Force - Tabellen und Felder»
«Verwenden Suffix aus der Datei , wenn Brute - Force - Tabellen und Felder»

Für den dauerhaften Einsatz, ein Präfix oder Suffix, können Sie sie im Feld Präfix und Suffix eingeben. Dann werden sie nicht aus den Wörterbüchern entnommen werden.

Klicken Sie dann auf «TABLE NAMES GET»

In diesem Fall, wenn Sie alle Wörter aus dem Wörterbuch in dieser Liste erscheinen, ist es nicht wahr, die individuell gestaltet werden.

Nach einer erfolgreichen Brute - Force, werden Sie die vorhandene Tabelle auf dem Ziel anzuzeigen , basierend, müssen Sie die gewünschte Tabelle auszuwählen , so dass die Spitze eines grauen Kasten seinen Namen erscheint und weiterhin die Tabelle scannen , um die Feldnamen für die Suche mit einem Klick auf «GET FIELD NAMES»

Hinweis: Um die Namen der Felder , die Sie Präfixe und Suffixe aus Wörterbüchern hinzufügen, das Programm wird Sie fragen, wenn Sie die Taste «GET FIELD NAMES» drücken.

6.1 Vorbereitung von Tabellen und Feldnamen der Tabelle INFORMATION_SCHEMA verwenden.
(SQL Injections -> Identifizierung von DB - > DUMP INF_SCH)
Nachrichten für MySQL5 und MSSQL

Es wird funktionieren, wenn Sie mindestens ein Ausgabefeld haben, und die Anzahl der Felder definiert.

Es gibt 2 Möglichkeiten.
- Tabellennamen nur - nur immer die Namen der Tabellen
- Tabellen- und Spaltennamen - erhalten Namen von Tabellen und Spalten in ihnen.

Da es ein Begrenzer zum Empfangen von Daten ist, stellt die obere Ebene (von) standardmäßig bis 16, da die ersten Tabelle 15 Standard und nicht mehr Information tragen.

Button «GO DUMP», beginnt der Prozess , Daten zu empfangen.
Die erhaltenen Daten können « eine Datei zu speichern» , indem Sie auf die Schaltfläche , um eine Datei gespeichert werden

Es gibt ein Drop - Down - Menü «Konvertieren», das Wesen des Menüs und seine Bedienung ist identisch p.4.1.5

7.1 Mit dem Charakter Brute beliebige Daten
(SQL Injections -> OneChar Bruteforce)
Actual MySQL ab Version 4.1 und MSSQL.
Brutus wird Zeichen für Zeichen von Daten aus einer Tabelle verwendet

Brutus Intervall von den Einstellungen auf der Registerkarte genommen wird -> MAIN.

Sie können die Art von Abfragen verwenden, SELECT id FROM News

Schaltfläche «Vorschau SQL - Abfrage» zeigt eine vorherige Anfrage an den Server

«GET RESULT» Taste startet den Prozess des Brutus.

8.1 Vorbereitung der Daten aus der Datenbank. (SQL Injections -> Datenbruteforce)
Nachrichten für MySQL 4 und MSSQL

Es wird funktionieren, wenn Sie mindestens ein Ausgabefeld haben, und die Anzahl der Felder definiert.

Zuerst müssen Sie in der Tabelle Namen der gewünschten Tabelle füllen.
Als nächstes müssen Sie die Liste die Namen des Feldes an, unter der Liste die Namen in dem Feld eingeben und auf die Schaltfläche «ADD FIELD» drücken.

Feldnamen können mit Tabs 5.1 und 6.1 erhalten werden.

HINWEIS: Entfernen Sie unnötigen Felder aus der Liste der möglichen «REMOVE FIELD» Taste

Als nächstes konfiguriert Start- und Zielzeilenposition. Um die Einstellungen korrekt sind , um zu überprüfen, können Sie die Taste «TEST» klicken, wenn alles in Ordnung ist, dann werden Sie den Wert der ausgewählten Felder durch einen Doppelpunkt getrennt haben wird „:“ in der Liste auf die erste Zeile in der Datenbank in der Box auf der linken Seite der «TEST» Taste entspricht

Wenn der Wert angezeigt wird, sind Sie bereit , Daten zu empfangen , indem Sie die Taste «GET IT» drücken.

Die erhaltenen Daten können « eine Datei zu speichern» , indem Sie auf die Schaltfläche , um eine Datei gespeichert werden

9.1 verbinden Zurück von MSSQL
Wird verwendet, um bekkonnekt aus der Datenbank zu machen. Es verwendet eine Datenbank MSSQL master..xp_cmdshell Verfahren für bekkonekta, ist es notwendig , die IP-Adresse in der Zeile zu prüfen und den Weg zu NetCat auf die Registerkarte Einstellungen -> MAIN.

Bei Erfolg erhalten Sie den Shell in Betrieb sein, die Verbindung zum Server öffnen.
Arbeiten mit Dateien 10.1

10.1.1 MySQL
Es verwendet, um Dateien über SQL zu verwalten - Injektion

10.1.1.1 Datei - Lese

Es wird funktionieren, wenn Sie mindestens ein Ausgabefeld haben, und die Anzahl der Felder definiert.

Sie müssen den absoluten Pfad zur Datei auf dem Server im unteren Rahmen spezifizieren.

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

Und drücken Sie die Taste « Quelle ». Im Falle eines erfolgreichen Lese, wird die Datei im Editor - Fenster angezeigt, in dem Sie die Datei über den Menüpunkt speichern können «DATEI SPEICHERN»

10.1.1.2 Hochladen einer Datei auf dem Server

Die Funktion wird funktionieren, wenn:
1) Sie haben mindestens ein Ausgabefeld,
2) die Anzahl der Felder definiert.
3) In der Konfiguration der Server muss nicht entkommen Anführungszeichen !!


Auch hier ist es notwendig, den absoluten Pfad zu der Datei auf dem Server, in dem oberen Bereich des Rahmens geschaffen werden, zu registrieren.

Dann gibt es zwei Optionen Datei-Upload.
- UNION - verwendet INTO OUTFILE (Standard)
- GESCHLOSSENE BY - MySQL seit Version 3 verwendet wird (vorzugsweise 1 , wenn nicht funktionierendes Ausführungsbeispiel)

Textdatei auf dem Server zu füllen ist, in dem Textfeld unten eingetragen.

10.1.2 MSSQL
Alles wird in Analogie zu p.10.1.1 getan

11.1 (Klemme)
Wird verwendet, um beliebige Pakete an den Server zu senden, sowie den Server (Kopf- und Körperantwort) Antwort anzuzeigen. Es gibt eine Suchfunktion im Körper.

Auftrag geschrieben in «HTTP - Anforderung»
Response - Header geschrieben «ANTWORT: HTTP - Header»
Der Antworttext geschrieben «ANTWORT: HTTP BODY»

Senden der Anforderung wird durch Drücken der «SEND REQUEST» Taste durchgeführt

12.1 Geschichte (Geschichte)
Hier werden alle Anfragen an den Server angezeigt und zusätzliche Informationen.
Oder reinigen Sie ihn durch Drücken der gleichen «GESCHICHTE -> CLEAR LOG» - Es kann über den Menüpunkt «> SAVE - LOG HISTORY» gespeichert werden

13.1 Einstellungen (Settings)
13.1.1 General (Haupt)
Translation-Schnittstelle (Pfad zur Sprachdatei).
Weg zum NetCat (Pfad zu NetCat) - verwendet in Punkt 9.1
Proxy-Einstellungen
- Verwendung Proxy
- IP-Adresse
- Hafen
Symbolintervall (Bruteforce Symbol - Code - Intervall) - verwendet in 4.1.2-4.1.5 und 7.1

Menü 1. Schließen Sie die SQL - Anweisung (Close SQL) - verwendet , um die ursprüngliche Anforderung abzuschneiden, es würde nicht den Fehler angezeigt.
different „Zakryvashki“ wird für jede Datenbank verwendet
- MySQL = / *
- MSSQL = -

Menü 2. Ändern Sie Zitate auf analog (Change zitiert wird)
Gebrauchte Filter Skripte zu umgehen.

Menü 3. Ändern Sie die Lücke in der analogen (Change Raum)
Es verwendet, um Filter Skripten zu umgehen

Weitere Merkmale:

Hauptmenü.

Double Tools - Fenster steigen, können Sie frei Programme Registerkarten für die Bequemlichkeit, wie jedes Fenster zum Terminal oder Geschichte, der Encoder und Decoder zusammenbauen

Standardeinstellungen - setzen Sie alle Einstellungen des Programms.

STOPP - stoppt das Programm.

KATEGORIE Werkzeuge (Tools)

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


Ihre SQLHack.