SQL-Injection-Tool 4
Ich muss sagen , dass es eine Änderung war, der Ort , wo die Anfrage eingefügt werden , werden die Noten {SQLINJ}, das heißt, wenn der verletzliche Parameter getId, dann URL schreibenhttp://localhost/test.php?getid=1{SQLINJ}
und wenn es ein Textparameter der URL ist, wird der
http://localhost/test.php?getid=1'{SQLINJ}
gut, alles andere scheint in der Tat, die zu klären will.
Das Programm kann so anivirusami wie Kaspersky Antivirus 7.0 als Hack definiert werden
Ein Bericht über die Entdeckung: Malware HackTool.Win32.SQLInject.i 4 Datei: s-tool.exe

sipt4.rar [2437KB]
Das Handbuch für SQL Injection TooL 3
1. Einleitung.In der Regel erreicht das ist schließlich die Hände ein Handbuch für mein 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 zu dem anfälligen Skript, HTTP - Server - Port, richten Sie eingeben , mit zu arbeiten einen Proxy - Server auf der Registerkarte Einstellungen -> MAIN, stellen Sie 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 Einspritzung in der GET-Parameter.
Code: Beispiel: http://www.target.ru/vulnscript.php?id=1
Wenn der vulnerablen 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 verwendet wird, wenn es eine Injektion in Cookies, benutze aber GET
Code: Beispiel: http://www.target.ru/vulnscript.php?id=1
Wenn der verletzliche Parameter VulnCook in einem Cookie, findet eine Anforderung an den Server das Formular
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 beim Drücken der Taste Cookie - Parameter angezeigt wird , und der anfällige Parameter wird in der Vulnerable Parameter eingegeben, und dessen Normalwert wird im Feld Wert eingegeben haben , tatsächlich das gleiche Prinzip verwendet wird , für POST-Parameter.
2.1.3 Cookie - Methode (GET)
Das Verfahren wird verwendet, wenn die Injektion in den GET-Parameter vorhanden ist, aber es ist notwendig, um die Server-Header bestimmte Cookies (NeedCook), eine solche Genehmigung zu senden
Code: Beispiel: http://www.target.ru/vulnscript.php?id=1{SQL}
Wenn der vulnerablen 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 Einspritzung in dem POST-Parameter.
Code: Beispiel: http://www.target.ru/vulnscript.php
Wenn der vulnerablen 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 eine Injektion in Cookies, aber ein POST
Code: Beispiel: http://www.target.ru/vulnscript.php
Wenn der verletzliche Parameter VulnCook in einem Cookie, findet eine Anforderung an den Server das Formular
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 einem bestimmten Titel Cookies (NeedCook), eine solche Genehmigung an den Server gesendet werden
Code: Beispiel: http://www.target.ru/vulnscript.php
Wenn der vulnerablen 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 Ausdruck (Textfeld String)
Dies stellt ein Wort, das wir auf diese Weise finden können.
Ein Beispiel für die GET-Methode,
Von Anfang an sehen
Code: http://www.target.ru/vulnscript.php?id=1
Dann schauen
Code: http://www.target.ru/vulnscript.php?id=2
Wir finden etwas, das hier ist
Code: http://www.target.ru/vulnscript.php?id=1
was nicht da ist (vergleiche sozusagen)
Code: http://www.target.ru/vulnscript.php?id=2
Als nächstes wird ein Feld gibt , in denen es ist ein Wert , und die GEFUNDEN nicht gefunden wird , er muss nur die Suchmethode zu wählen,
GEFUNDEN - Dieses Stück Code, oder einen Satz für die Richtigkeit der Stiftung (die positive Schlussfolgerung , dass die Injektion richtig gemacht wird) genommen
NOT FOUND - Dieses Stück Code oder eine Phrase als Grundlage genommen nicht korrekt ist
(Auch ein positives Ergebnis, dass die Injektion richtig gemacht)
TIPP: Um die Suche zu automatisieren, können Sie die AUTO - Taste ENTSCHEIDEN verwenden, aber es ist erwähnenswert, dass es eine falsche Definition eines falsch sein oder nicht definiert , wenn ein Stück des Keywords innerhalb der Tags ist.
2.3 Checkbox Basic Authorization und Textfelder Login und Passwort sind ermächtigt werden , in einem bestimmten Ort auf der Website eingeben oder die Dateien zuzugreifen.
3.1 Weiterhin 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ü «Verwenden Sie die 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
Jedoch ist die bevorzugte Methode für das Programm UNION SELECT, da dieses Verfahren sofort detektiert und Ausgabefelder (ein Textfeld FIELD SUPPORTS PRINTING), mehrere Funktionen des Programms benötigt werden .
Es ist erwähnenswert, dass, wenn Sie die Anzahl der Felder, die die Abfragemethoden der ORDER BY und GROUP BY und erfolgreich identifiziert, gemessen, sollten Sie die Startnummer der Felder angeben, um zu suchen und zu der gefundenen Zählung gleich beenden und UNION SELECT-Methode wählen Sie das Feld mit dem Ausgang 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 Parameters verwundbar 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 Zeile in 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 - das annehmbarste Weg , um den Server zur gleichen Zeit zu bestimmen , schickte einen Antrag auf einmal alle Werte zu bestimmen.
TAKE ONE SYMBOL - Zeichen für Zeichen Definition, Brutus ein Zeichen.
Darüber hinaus kann das Intervall in der Registerkarte Einstellungen festgelegt werden.
BRUTE -posimvolnoe Definition, Brutus alle Abflüsse.
Beide Varianten für den Einsatz in MySQL 3 oder nicht in der Lage durch Standardtechniken zu bestimmen. Na ja, oder in den Selbstmord.
4.1.3 DATABASE () - Name der Datenbank , zu der das Skript verbindet die Abfrage auszuführen.
Die Funktionsweise ist ähnlich der USER () Para 4.1.2
4.1.4 VERSION () - Version der Datenbank, die mit dem Skript verbunden ist , um die Anforderung zu machen.
Die Funktionsweise ist ähnlich der USER () Para 4.1.2
4.1.5 CONVERT Dropdown-Menü bei der Ermittlung der Werte der Verwendung von UNION helfen kann, wenn die Basis eine einzelne Codierung verwendet, und die Werte der USER (), DATABASE (), VERSION () eine andere 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 Aufzählung, müssen Sie die Anzahl der Felder ausgewählt haben, wie in Abschnitt 3.1.1 beschrieben
Hier stelle ich fest , dass bei der Verwendung von Worten von externen Textwörter Iterieren, also müssen sie, bevor Sie die Registerkarte Einstellungen zu verbinden Start -> LEXIKON.
Wörterbücher sind 4 Typen
- Tabellen Dictionary (Tabelle Wörterbuch)
- Wörterbuch Felder (Field - Wörterbuch)
- Wörterbuch Präfix (Präfix - Wörterbuch)
- Wörterbuch Suffix (Suffix - Wörterbuch)
HINWEIS: Auf der gleichen Registerkarte, können Sie sie bearbeiten
.
So verwenden Sie 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 Sie Präfix aus der Datei , wenn Brute - Force - Tabellen und Feldern»
«Verwenden Suffix aus der Datei , wenn Brute - Force - Tabellen und Feldern»
Um immer das gleiche Präfix oder Suffix verwenden, können Sie sie im Feld Präfix und Suffix eingeben. Dann werden sie nicht von den Wörterbüchern entnommen werden.
Klicken Sie dann auf «Tabellennamen GET»
In diesem Fall, wenn Sie alle Wörter aus dem Wörterbuch in dieser Liste angezeigt haben, ist es zu den Anwendungseinstellungen nicht wahr.
Nach erfolgreicher Suche werden Sie die vorhandene Tabelle auf dem Ziel zeigen basiert, müssen Sie die gewünschte Tabelle zu wählen , so dass die Spitze eines grauen Kasten seinen Namen erscheint und auch weiterhin die Tabelle zu scannen , um die Namen der Felder zu finden , indem Sie auf die «FIELD NAMES GET»
Hinweis: Um die Namen der Felder , die Sie Präfixe und Suffixe aus Wörterbücher hinzufügen können, wird das Programm Sie fragen, wenn Sie die «FIELD NAMES GET» 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
Die Funktion wird funktionieren, wenn Sie mindestens ein Ausgabefeld haben, und die Anzahl der Felder definiert.
Es gibt zwei Optionen.
- Tabellennamen nur - erhalten nur die Namen der Tabellen
- Tabellen- und Spaltennamen - immer die Namen von Tabellen und Spalten in ihnen.
Es gibt auch eine Stopp - Datenerfassung, die obere Ebene (FROM) Die Standard - 16 als die ersten 15 Tabellen von Standard festgelegt ist und nicht mehr Informationen tragen.
Taste «GO DUMP», beginnt der Prozess der Datenerfassung.
Die Daten können « einer 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 Durch Character Brute beliebige Daten
(SQL Injections -> OneChar Bruteforce)
Tatsächliche MySQL ab Version 4.1 und MSSQL zu starten.
Wird für die symbolweise Brutus Daten aus einer Tabelle
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 vorläufige Anfrage an den Server
«GET RESULT» Taste startet den Prozess des Brutus.
8.1 Abrufen von Daten aus der Datenbank. (SQL Injections -> Datenbruteforce)
Nachrichten für MySQL 4 und MSSQL
Die Funktion 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 zu füllen.
Als nächstes müssen Sie auf die Liste mit den Namen der erforderlichen Felder hinzufügen , wenn diese Namen in das Feld unter der Liste eingeben und auf die Schaltfläche «ADD FIELD» drücken.
Die Feldnamen können mit Tabs 5.1 und 6.1 erhalten werden.
HINWEIS: Entfernen Sie nicht benötigte Felder aus der Liste der möglichen «Feld entfernen» Taste
Dann eingestellt, um die Start- und Endposition der Zeile. Um die Einstellungen korrekt sind , um zu überprüfen Sie die «TEST» drücken können, 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, dies zu tun, klicken Sie auf «GET IT».
Die Daten können « einer 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.
In erfolgreichen Betrieb, werden Sie eine Befehlskonsole haben, die eine Verbindung zum Server öffnen wird.
Arbeiten mit Dateien 10.1
10.1.1 MySQL
Es verwendet, um Dateien über SQL zu verwalten - Injektion
10.1.1.1 Datei gelesen
Die Funktion 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 zu registrieren.
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 Konfigurationsserver, sollten Sie nicht zitiert entkommen !!
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 - verwenden INTO OUTFILE (Standard)
- ENCLOSED BY - verwendet in MySQL seit Version 3 (Es wird empfohlen , zu verwenden , wenn nicht 1 - Variante ausgeführt wird )
Die Textdatei auf dem Server zu füllen sind in das 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 senden, sowie den Server (Header und Antworttext) Antwort anzuzeigen. Es gibt eine Suchfunktion im Körper.
Auftrag geschrieben in «HTTP - Anforderung»
Antwort - Header geschrieben «ANTWORT: HTTP - Header»
Der Körper der Antwort geschrieben «ANTWORT: HTTP BODY»
Senden der Anforderung wird durch Drücken der Taste «Sie jetzt » Taste durchgeführt
12.1 Geschichte (Geschichte)
Hier werden alle Anfragen an den Server angezeigt und zusätzliche Informationen.
durch Drücken der gleichen «GESCHICHTE -> CLEAR LOG» oder reinigen - es kann über den Menüpunkt «> SAVE - LOG HISTORY» speichern
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
- Proxy verwenden
- IP-Adresse
- Hafen
Zeichenabstand (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.
verschiedene "Zakryvashki" für jede Base
- MySQL = / *
- MSSQL = -
Menü 2. Ändern Sie Zitate auf analog (Change Quotes)
Gebrauchte Filter Skripte zu umgehen.
Menü 3. Änderung der analogen Lücke (Change Raum)
Es verwendet, um Filter Scripts umgehen
Weitere Merkmale:
Hauptmenü.
Double Tools - Fenster steigt, können Sie frei Programme Registerkarten für die Bequemlichkeit, wie jedes Fenster an das Terminal oder Geschichte, der Encoder und Decoder montieren
Standardeinstellungen - setzen Sie alle Einstellungen des Programms.
STOPP - stoppt das Programm.
Die Dienstprogramm - Partition (Tools)
Enthält eine Vielzahl von Encoder und Decoder von Zeilen, wie HEX, BASE64, URL-LIKE, PHP CHR
Ihre SQLHack.
Kommentare
im Auge kommentierte halten , dass der Inhalt und der Ton Ihrer Nachrichten , die Gefühle von echten Menschen verletzen können, Respekt und Toleranz gegenüber seinen Gesprächspartnern, auch wenn Sie Ihr Verhalten in Bezug auf die Meinungsfreiheit und die Anonymität des Internets, ändert ihre Meinung nicht teilen, nicht nur virtuell, sondern realen Welt. Alle Kommentare werden aus dem Index, Spam - Kontrolle versteckt.