Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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
bbqsql — SQL-Injection-Ausnutzungstool | Kitploit
Tools/GitHubGitHub/ciscocxsecurity/bbqsql
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstests
GitHubciscocxsecurity/bbqsql

bbqsql

SQL-Injection-Ausnutzungstool

Repository anzeigen
82619622vor 7 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

#BBQSQL# Ein Tool zur Ausnutzung von Blind-SQL-Injection

Inhaltsverzeichnis

  • Was ist BBQSQL?
  • Überblick über die Readme
  • Allgemeine Verwendung
  • Installation
  • BBQSQL-Optionen
  • Überblick über die Abfragesyntax
  • HTTP-Parameter
  • Konfiguration exportieren
  • Konfiguration importieren
  • Benutzerdefinierte Hooks
  • Einen Fehler gefunden?
  • Kann ich helfen?
  • Was hat es mit dem Namen auf sich?

Was ist BBQSQL?

Blind-SQL-Injection kann eine lästige Sache sein. Wenn die verfügbaren Tools funktionieren, funktionieren sie gut, aber wenn nicht, muss man etwas Eigenes schreiben. Das ist zeitaufwändig und mühsam. BBQSQL kann Ihnen helfen, diese Probleme zu lösen.

BBQSQL ist ein Blind-SQL-Injection-Framework, das in Python geschrieben ist. Es ist äußerst nützlich, wenn man knifflige SQL-Injection-Schwachstellen angreift. BBQSQL ist auch ein halbautomatisches Tool, das eine ziemlich umfangreiche Anpassung für schwer auslösbare SQL-Injection-Befunde ermöglicht. Das Tool ist datenbankunabhängig konzipiert und extrem vielseitig. Es verfügt außerdem über eine intuitive Benutzeroberfläche, die die Einrichtung von Angriffen wesentlich erleichtert. Python gevent wird ebenfalls implementiert, was BBQSQL extrem schnell macht.

Überblick über die Readme

Wir haben versucht, das Tool so zu schreiben, dass es bei der Einrichtung eines Angriffs in der Benutzeroberfläche sehr selbsterklärend ist. Der Vollständigkeit halber haben wir jedoch eine detaillierte Readme beigefügt, die Ihnen zusätzliche Einblicke in die Einzelheiten der einzelnen Konfigurationsoptionen geben soll. Beachtenswert ist, dass jede Konfigurationsoption in der Benutzeroberfläche eine zugehörige Beschreibung hat. Wenn Sie sich also entscheiden, das Tool ohne das Lesen dieser Seite zu starten, sollten Sie in der Lage sein, sich durch einen Angriff zu hacken.

Allgemeine Verwendung

Ähnlich wie bei anderen SQL-Injection-Tools stellen Sie bestimmte Anforderungsinformationen bereit.

Folgende übliche Informationen müssen bereitgestellt werden:

  • URL
  • HTTP-Methode
  • Header
  • Cookies
  • Kodierungsmethoden
  • Weiterleitungsverhalten
  • Dateien
  • HTTP-Authentifizierung
  • Proxys

Dann geben Sie an, wo die Injection erfolgt und welche Syntax wir injizieren. Lesen Sie weiter für Details.

Installation

Dies sollte unkompliziert sein, aber was auch immer. Versuchen Sie, Folgendes auszuführen:

sudo pip install bbqsql

Wenn das nicht funktioniert, können Sie es aus dem Quellcode installieren. Das Tool benötigt gevent, requests.

BBQSQL-Optionen

Im Menü sehen Sie einen Platz für BBQSQL-Optionen. Hier geben Sie die folgenden Optionen an:

query

Dies wird unten im Abfragesyntax-Überblick ausführlicher beschrieben.

csv_output_file

Der Name einer Datei, in die die Ergebnisse ausgegeben werden sollen. Lassen Sie dies leer, wenn Sie keine Ausgabe in eine Datei wünschen.

technique

BBQSQL verwendet zwei Techniken bei der Durchführung eines Blind-SQL-Injection-Angriffs. Die erste und standardmäßig verwendete Technik ist binary_search. Siehe Wikipedia für weitere Informationen.

Die zweite Technik, die Sie verwenden können, ist frequency_search. Die Häufigkeitssuche basiert auf einer Analyse der englischen Sprache, um die Häufigkeit zu bestimmen, mit der ein Buchstabe vorkommt. Diese Suchmethode ist bei nicht-entropischen Daten sehr schnell, kann aber bei nicht-englischen oder verschleierten Daten langsam sein.

Sie können entweder binary_search oder frequency_search als Wert für diesen Parameter angeben.

comparison_attr

Dies gibt die Art der SQL-Injection an, die Sie entdeckt haben. Hier können Sie festlegen, welches Attribut der HTTP-Antwort BBQSQL untersuchen soll, um wahr/falsch zu bestimmen.

Sie können angeben: status_code, url, time, size, text, content, encoding, cookies, headers oder history

Wenn Sie eine SQL-Injection identifiziert haben, die zu einem anderen Server-Statuscode führt, setzen Sie hier 'status_code'. Wenn das Cookie anders ist, setzen Sie 'cookie'. Wenn die Antwortgröße unterschiedlich ist, setzen Sie 'size'. Sie verstehen das Prinzip.

concurrency

Die Nebenläufigkeit basiert auf der gevent-Bibliothek in Python. Funktional erscheint sie wie Threading, aber die Einzelheiten ihrer Funktionsweise können in unserem DefCon-Vortrag hier [Link einfügen] eingesehen werden. Diese Einstellung steuert den Grad der Nebenläufigkeit, mit dem der Angriff ausgeführt wird. Dies ist nützlich, um die Anzahl der Anfragen zu drosseln und die Angriffszeiten zu beschleunigen. Bei wirklich leistungsstarken Webservern wie nginx konnten wir die Nebenläufigkeit auf 75 einstellen. Standardmäßig ist dies auf '30' gesetzt.

Überblick über die Abfragesyntax

Wenn Sie auf eine SQL-Injection-Schwachstelle mit seltsamen Eigenheiten stoßen (z. B. bestimmte Zeichen können nicht enthalten sein oder Funktionen wie ASCII/CHAR funktionieren nicht), haben Sie sich wahrscheinlich dabei ertappt, ein Skript mit Ihrer benutzerdefinierten Injektionssyntax zu schreiben. BBQSQL nimmt den Skriptteil ab und bietet eine Möglichkeit, Ihre benutzerdefinierte Abfragesyntax einzufügen und mit Leichtigkeit auszunutzen.

Der Abfrageeingabebereich ist der Ort, an dem Sie Ihre Abfrage konstruieren, die zum Extrahieren von Informationen aus der Datenbank verwendet wird. Es wird davon ausgegangen, dass Sie bereits eine SQL-Injection an einem anfälligen Parameter identifiziert und eine erfolgreiche Abfrage getestet haben.

Unten finden Sie ein Beispiel für eine Abfrage, die Sie verwenden können, um Ihre Abfrage zu erstellen.

In diesem Beispiel möchte der Angreifer die Datenbankversion auswählen:

vulnerable_parameter'; if(ASCII(SUBSTRING((SELECT @@version LIMIT 1 OFFSET ${row_index}) , ${char_index} ,1))) ${comparator:>}ASCII(${char_val}) WAITFOR DELAY '0\:0\:0${sleep}'; --

Die Abfragesyntax basiert auf Platzhaltern, die BBQSQL mitteilen, wie der Angriff ausgeführt werden soll.

Sie müssen die folgenden Platzhalterinformationen bereitstellen, damit der Angriff funktioniert. Sobald Sie diese in Ihre Abfrage eingefügt haben, erledigt BBQSQL den Rest:

${row_index}: Dies teilt BBQSQL mit, hier Zeilen zu iterieren. Da wir LIMIT verwenden, können wir je nach ${row_index}-Wert n Zeilen anzeigen.

${char_index}: Dies teilt BBQSQL mit, welches Zeichen aus der Unterabfrage abgefragt werden soll.

${char_val}: Dies teilt BBQSQL mit, wo die Ergebnisse aus der Unterabfrage verglichen werden sollen, um das Ergebnis zu validieren.

${comparator}: Hiermit teilen Sie BBQSQL mit, wie die Antworten verglichen werden sollen, um festzustellen, ob das Ergebnis wahr oder falsch ist. Standardmäßig wird das Symbol > verwendet.

${sleep}: Dies ist optional, teilt BBQSQL aber mit, wo die Anzahl der Sekunden eingefügt werden soll, die bei zeitbasierter SQL-Injection gewartet werden soll.

Nicht alle dieser Platzhalter sind erforderlich. Wenn Sie beispielsweise eine halbblinde boolesche SQL-Injection entdeckt haben, können Sie den Parameter ${sleep} weglassen.

HTTP-Parameter

BBQSQL hat viele HTTP-Parameter, die Sie konfigurieren können, wenn Sie Ihren Angriff einrichten. Mindestens müssen Sie die URL, den Ort, an dem die Injektionsabfrage ausgeführt werden soll, und die Methode angeben. Die folgenden Optionen können gesetzt werden:

  • files
  • headers
  • cookies
  • url
  • allow_redirects
  • proxies
  • data
  • method
  • auth

Sie geben an, wo die Injektionsabfrage eingefügt werden soll, indem Sie die Vorlage ${injection} verwenden. Ohne die Injektionsvorlage weiß das Tool nicht, wo die Abfrage eingefügt werden soll.

files

Tool herunterladen