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
CVE-2026-60137 — wpsqli vollständiger SQLi-Extraktor + Dumper für CVE-2026-60137 | Kitploit
Tools/GitHubGitHub/adarshthakur14777-cyber/cve-2026-60137
PasswortangriffeSchwachstellenanalyseExploitationWebanwendungs-ExploitationInformationsbeschaffungWebsicherheitPenetrationstestsDatenbanksicherheit

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHub
adarshthakur14777-cyber/cve-2026-60137

CVE-2026-60137

wpsqli vollständiger SQLi-Extraktor + Dumper für CVE-2026-60137

Repository anzeigen
5vor 1 MonatNoch nicht geprüft

wpsqli - WordPress SQLi Extractor (CVE-2026-60137)

Ein schnelles, menügesteuertes Datenbankextraktions-Tool, das die author__not_in-SQL-Injection-Schwachstelle im WordPress-Core ausnutzt. Dieses Tool konzentriert sich ausschließlich auf die Aufzählung und das Ausgeben von Datenbankinhalten und nutzt die REST-Batch-Route-Confusion (CVE-2026-63030), um die SQLi-Senke ohne Authentifizierung zu erreichen.


Inhaltsverzeichnis

  • Übersicht
  • Schwachstellenkette
  • Betroffene Versionen
  • Funktionen
  • Installation
  • Verwendung
  • Menüoptionen
  • Extraktionsmodi
  • Leistung
  • Rechtlicher Haftungsausschluss

Übersicht

wpsqli ist ein reines Python-Tool, das eine verkettete Schwachstelle im WordPress-Core ausnutzt, die eine nicht authentifizierte SQL-Injection in die Datenbank ermöglicht. Es umgeht die Validierung der WordPress-REST-API über einen Batch-Route-Confusion-Bug und liefert ein rohes String-Payload direkt an die SQL-Senke von WP_Query.

Dieses Tool ist auf Geschwindigkeit und Flexibilität ausgelegt: Es versucht automatisch eine UNION-basierte In-Band-Extraktion (sofort), fällt auf eine parallele Boolean-Blind-Extraktion mit 8 Threads zurück und schließlich bei Bedarf auf eine sequenzielle zeitbasierte Extraktion.


Schwachstellenkette

Dieses Tool verkettet zwei unabhängige Schwachstellen, um eine nicht authentifizierte Datenbankextraktion zu erreichen:

Bug A — author__not_in SQL Injection (CVE-2026-60137)

Ort: wp-includes/class-wp-query.php, WP_Query::get_posts()

Der Parameter author__not_in wendet die absint()-Bereinigung nur an, wenn die Eingabe ein Array ist. Wenn ein String übergeben wird, wird die is_array()-Absicherung übersprungen, der String passiert implode() unverändert und wird roh in die SQL-$where-Klausel eingefügt.

root@kitploit:~
// Line 2404: guard only fires for ARRAYS
if ( is_array( $query_vars['author__not_in'] ) ) {
    $query_vars['author__not_in'] = array_unique( array_map( 'absint', $query_vars['author__not_in'] ) );
    sort( $query_vars['author__not_in'] );
}
// Line 2408: string passes straight through
$author__not_in = implode( ',', (array) $query_vars['author__not_in'] );
// Line 2409: raw interpolation
$where .= " AND {$wpdb->posts}.post_author NOT IN ($author__not_in) ";

Bug B — REST Batch Route Confusion (CVE-2026-63030)

Der Posts-Endpunkt der REST-API bildet author_exclude auf author__not_in ab, deklariert ihn jedoch als type => 'array' aus Ganzzahlen, sodass der Core einen String umwandelt bzw. zurückweist. Bug B schmuggelt den String an der Validierung vorbei, indem ein Desynchronisations-Bug im REST-Batch-Endpunkt (/wp-json/batch/v1) ausgenutzt wird. Durch die Injektion eines fehlerhaften Pfad-Primers, den wp_parse_url() ablehnt, wird ein WP_Error in die Batch-Request-Liste eingeschleust, wodurch $matches von $validation desynchronisiert wird. Dadurch kann eine nachfolgende Sub-Request ohne Parametervalidierung an den falschen Handler übergeben werden.


Betroffene Versionen

Hinweis: Die SQLi-Senke wird nur erreicht, wenn kein persistenter Objekt-Cache (Redis/Memcached) verwendet wird.


Funktionen

  • Keine Abhängigkeiten: Reine Python-Standardbibliothek. Kein pip install erforderlich.
  • Dreistufige Extraktion:
    • UNION-basiert: Erstellt eine gefälschte wp_posts-Zeile, um ganze Strings in einer einzigen HTTP-Anfrage zu extrahieren (sofort).
    • Boolean-Blind (parallel): Wenn UNION durch Objekt-Caching blockiert wird, werden 8 parallele Threads mit binärer Suche verwendet, um ~7 Anfragen pro Zeichen zu extrahieren.
    • Zeitbasiert (sequenziell): Fallback, wenn das Boolean-Orakel keine Zeilen zurückgibt.
  • Vollständige Aufzählung: Datenbanken, Tabellen und Spalten auflisten.
  • Tabellen-Dump: Einzelne Tabellen, alle Tabellen einer Datenbank oder einen kompletten Nuclear-Dump in eine Textdatei mit Zeitstempel ausgeben.
  • Sanfte Unterbrechung: Ctrl+C während der Extraktion stoppt die aktuelle Abfrage und gibt Teilergebnisse zurück, ohne die Sitzung zu beenden.
  • Sitzungspersistenz: Einmal verbinden und über das interaktive Menü mehrere Abfragen ausführen.
  • URL-Bereinigung: Entfernt automatisch Pfade/Abfragen aus der Host-Eingabe, um eine Verdopplung des Endpunkts zu verhindern.
  • Crack-bereite Ausgabe: Benutzer-Dumps enthalten das Format ID|user_login|user_pass mit bcrypt-Hashes, bereit für hashcat -m 35500.

Installation

Keine Installation erforderlich. Einfach herunterladen und ausführen:

root@kitploit:~
# Clone the repository
git clone https://github.com/AdarshThakur14777-cyber/CVE-2026-60137.git
# Navigate to directory
cd CVE-2026-60137

# Run
python main.py

Anforderungen:

  • Python 3.8+
  • Keine externen Pakete erforderlich (nur Standardbibliothek)

Verwendung

Das interaktive Menü starten:

root@kitploit:~
python main.py

Beispielsitzung

root@kitploit:~
============================================================
  WP SQLi Extractor v3 (CVE-2026-60137)
============================================================
------------------------------------------------------------
  CONNECTION
   0. Connect / Change target
   1. Check target (version + vuln confirm)
------------------------------------------------------------
  FINGERPRINTING
   2. MySQL version (@@version)
   3. Current database name
   4. Current DB user
   5. WordPress table prefix
   6. Dump wp_users (ID, login, pass hash)
   7. Custom SQL query
   8. Extract all fingerprints (2+3+4+5)
------------------------------------------------------------
  ENUMERATION
   9. List all databases
  10. List all tables (current DB)
  11. List columns of a table
------------------------------------------------------------
  DUMPING
  12. Dump a specific table
  13. Dump all tables (current DB)
  14. Full dump to file (all tables + all rows)
------------------------------------------------------------
  15. Exit
============================================================

Choice: 0
Target (https://example.com): https://target.com
Skip TLS verify? (y/N):
Sleep delay for time-based (default 3):

[*] Connecting to https://target.com ...
[+] Batch endpoint: https://target.com/wp-json/batch/v1
[*] WordPress version: 6.9.4 VULNERABLE
[*] Testing UNION-based extraction ...
[!] UNION not available — trying boolean blind (8 parallel threads) ...
[+] Boolean-blind mode active (8 threads, ~7 reqs/char)
[+] Time-based also works (0.69s vs 3.78s)

Menüoptionen

Verbindung

OptionBeschreibung
0Mit einem Ziel verbinden (bereinigt URLs automatisch)
1Schwachstelle und aktiven Extraktionsmodus verifizieren

Fingerprinting

Enumeration

OptionBeschreibung
9Alle Datenbanken auf dem MySQL-Server auflisten
10Alle Tabellen in der aktuellen oder angegebenen Datenbank auflisten
11Alle Spaltennamen für eine bestimmte Tabelle auflisten

Dumping

OptionBeschreibung
12Eine einzelne Tabelle ausgeben (mit optionalem Zeilenlimit und Dateispeicherung)
13Alle Tabellen in der aktuellen Datenbank ausgeben
14Kompletter Nuclear-Dump — alle Tabellen + alle Zeilen in eine Datei mit Zeitstempel

Extraktionsmodi

Das Tool versucht automatisch drei Extraktionsmodi in der Reihenfolge ihrer Geschwindigkeit:

1. UNION-basiert (sofort)

Erstellt eine gefälschte wp_posts-Zeile, wobei der extrahierte Wert hex-kodiert in der Spalte post_title (eingebettet in ||..||-Marker) liegt. Die REST-API spiegelt ihn in der Antwort zurück — der gesamte String in einer einzigen HTTP-Anfrage.

  • 1 Anfrage pro Abfrage
  • Funktioniert nur, wenn kein persistenter Objekt-Cache aktiv ist
  • Verwendet CONCAT(0x7c7c, HEX(CAST((<expr>) AS CHAR)), 0x7c7c), um das Ergebnis zu kodieren

2. Boolean-Blind (parallel)

Wenn UNION nicht verfügbar ist, werden 8 parallele Threads mit binärer Suche verwendet, um jedes Zeichen zu extrahieren. Das Boolean-Orakel prüft, ob das injizierte AND (condition) Zeilen zurückgibt.

  • ~7 Anfragen pro Zeichen (über 8 Threads parallelisiert)
  • Binäre Suche im ASCII-Bereich 32-126
  • Ermittelt die Stringlänge vor der Extraktion per binärer Suche vorab
  • Fortschritt wird als abgeschlossene Zeichen angezeigt

3. Zeitbasiert (sequenziell)

Fallback, wenn das Boolean-Orakel keine Zeilen zurückgibt (z. B. bei einer Website mit 0 veröffentlichten Beiträgen). Verwendet IF(condition, SLEEP(N), 0), um Wahrheit in der Antwortlatenz zu kodieren.

  • ~7 × sleep_delay Sekunden pro Zeichen (sequenziell)
  • Langsamster Modus, funktioniert aber bei leeren Datenbanken

Leistung

Beispiel-Zeiten (Boolean, 8 Threads)


Rechtlicher Haftungsausschluss

Dieses Tool ist ausschließlich für autorisierte Sicherheitstests und Bildungszwecke konzipiert. Sie dürfen dieses Tool nur gegen Systeme verwenden, die Ihnen gehören oder für deren Test Sie eine ausdrückliche schriftliche Genehmigung besitzen. Unbefugter Zugriff auf Computersysteme ist illegal.

Die Autoren und Mitwirkenden dieses Tools sind nicht für Missbrauch oder Schäden verantwortlich, die durch diese Software verursacht werden. Nutzung auf eigene Gefahr


Danksagungen

  • Schwachstellenkette entdeckt von Adam Kues (Assetnote / Searchlight Cyber)
  • UNION-Fake-Post-Technik: sergiointel/wp2shell-poc (Urheber)
  • Implementierung angepasst von: Icex0/wp2shell-poc
  • Technik zur Erkennung von Route Confusion: Hadrian / Icex0

Lizenz

Dieses Tool wird ausschließlich für Bildungs- und autorisierte Testzwecke bereitgestellt.

Tool herunterladen
VersionsbereichStatus
6.8.0 – 6.8.5SQLi-Bug vorhanden, aber Kette NICHT erreichbar (Batch-Confusion in 6.9.0 eingeführt)
6.9.0 – 6.9.4VERWUNDBAR — vollständige Kette ohne Authentifizierung
7.0.0 – 7.0.1VERWUNDBAR — vollständige Kette ohne Authentifizierung
6.8.6Gepatcht (SQLi)
6.9.5Gepatcht
7.0.2Gepatcht
7.1-beta2+Gepatcht
OptionBeschreibung
2MySQL-Version extrahieren (SELECT @@version)
3Aktuellen Datenbanknamen extrahieren (SELECT DATABASE())
4Aktuellen DB-Benutzer extrahieren (SELECT CURRENT_USER())
5WordPress-Tabellenpräfix extrahieren
6wp_users-Tabelle ausgeben (ID, Login, Passwort-Hash)
7Eine benutzerdefinierte SQL-Abfrage ausführen
8Alle Fingerprints (Optionen 2-5) nacheinander ausführen
ModusAnfragen pro AbfrageGeschwindigkeitWann verwendet
UNION1SofortKein Objekt-Cache, Spaltenanzahl passt
Boolean (8 Threads)~7 × string_length / 8SchnellUNION blockiert, Zeilen vorhanden
Zeitbasiert~7 × sleep × string_lengthLangsamKeine Zeilen für das Boolean-Orakel
ExtraktionZeichenAnfragenZeit
MySQL-Version~20~140~15s
Datenbankname~15~105~12s
DB-Benutzer~25~175~20s
Tabellenpräfix~5~35~5s
wp_users-Zeile (200 Zeichen)200~1400~2min