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
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
42vor 2 MonatenNoch 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.

// 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

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

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:

# 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:

python main.py

Beispielsitzung

============================================================
  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

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

Enumeration

Tool herunterladen