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
POC-GeoLeak-CVE-2026-52715 — Funktionaler PoC für CVE-2026-52715 (GeoLeak): Nicht authentifiziertes SQLi in GEO my WordPress <= 4.5.5 über swlatlng/nelatlng. Docker-Labor + time-based/boolean-based-Exploit + Exfiltration ohne Kommas im Payload. | Kitploit
Tools/GitHubGitHub/686f6c61/poc-geoleak-cve-2026-52715
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & BildungPayload-EntwicklungLabs & Praxis
GitHub686f6c61/poc-geoleak-cve-2026-52715

POC-GeoLeak-CVE-2026-52715

Funktionaler PoC für CVE-2026-52715 (GeoLeak): Nicht authentifiziertes SQLi in GEO my WordPress <= 4.5.5 über swlatlng/nelatlng. Docker-Labor + time-based/boolean-based-Exploit + Exfiltration ohne Kommas im Payload.

Repository anzeigen
15vor 1 MonatNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

GeoLeak – PoC für CVE-2026-52715

Bildungs-PoC von GeoLeak (CVE-2026-52715), eine nicht authentifizierte SQL-Injection (CVSS 9.3) im Plugin GEO my WordPress <= 4.5.5 für WordPress. Die Parameter swlatlng und nelatlng der Kartengrenzen werden ohne Bereinigung in die WHERE-Klausel interpoliert. Eigenständiges Docker-Labor + Exploit mit time-based-, boolean-based-Techniken und Zeichen-für-Zeichen-Exfiltration.


Inhaltsverzeichnis

  1. Kurzüberblick
  2. Rechtlicher Hinweis
  3. Architektur der Angriffskette
  4. Voraussetzungen
  5. Repository-Struktur
  6. Kurzanleitung
  7. Verifizierung des Exploits
  8. Technische Analyse
  9. Der offizielle Patch (4.5.5.1)
  10. Mitigation
  11. Credits
  12. Lizenz

Kurzüberblick

CVE-2026-52715 ist eine SQL-Injection (CWE-89) in der Funktion gmw_get_locations_within_boundaries_sql() des Plugins GEO my WordPress, die alle Versionen <= 4.5.5 betrifft und seit 4.5.5.1 (15. Juni 2026) gepatcht ist. Entdeckt wurde sie vom Forscher alvarodh5 und über Patchstack veröffentlicht.

Die Kette mit dem Namen GeoLeak zeigt, wie ein Angreifer, ausgehend ausschließlich von Lesezugriff auf eine beliebige öffentliche Seite, die den Shortcode [gmw] enthält, Folgendes tun kann:

  1. Beliebigen SQL-Code über den Parameter swlatlng (oder nelatlng) der Query-String injizieren – ohne Cookies, ohne Nonce und ohne Authentifizierung.
  2. Messbare Verzögerungen mit SLEEP() (time-based blind) erzwingen, ausgewertet für jede Zeile des INNER JOIN gegen wp_gmw_locations.
  3. Den Orakel-Wert "total_results":N, den das Plugin selbst in das JSON der Kartenkonfiguration einbettet, nutzen, um boolesche Bedingungen abzuleiten (boolean-based blind).
  4. Die gesamte Datenbank Zeichen für Zeichen exfiltrieren, wobei die Einschränkung umgangen wird, dass der Payload keine Kommas enthalten darf (PHP zerlegt den Wert mit explode(',', ...)), und zwar mittels CASE WHEN und SUBSTRING(x FROM n FOR 1).

Das Ergebnis ist beliebiges Lesen der WordPress-Datenbank: Tabelle wp_users (Passwort-Hashes), Konfigurationsoptionen, Schlüssel und Daten Dritter aus Plugins.

In der PoC wird die vollständige Extraktion von VERSION() von MariaDB ausschließlich mit GET-Anfragen verifiziert.


Rechtlicher Hinweis

Dieses Repository enthält Material, das streng lehrreich und defensiv ist.

  • Zweck: Demonstration der Angriffskette zu Schulungszwecken, für eigene Audits und zur Patch-Validierung.
  • Autorisierte Nutzung: Führe sie ausschließlich gegen Systeme aus, die dir gehören oder für die du eine ausdrückliche schriftliche Genehmigung besitzt. Das enthaltene Docker-Labor ist die einzige vorgesehene Umgebung.
  • Verboten: Jegliche Nutzung gegen Systeme Dritter ohne Zustimmung. Der Autor des Repositories übernimmt keine Verantwortung für missbräuchliche Nutzung des hier enthaltenen Materials.
  • Verantwortung: Der Betreiber ist allein verantwortlich für die Einhaltung der geltenden Gesetzgebung (LOPD/RGPD in Spanien, CFAA in den USA, usw.).

Architektur der Angriffskette

┌─────────────────────────────────────────────────────────────────────┐
│  1. Öffentliche Anfrage ohne Authentifizierung                      │
│     GET /?page_id=5&form=1&action=fs&swlatlng=<payload>&nelatlng=…  │
│     öffentliche Seite mit Shortcode [gmw form="1"]                 │
└──────────────────────────────────────────────────┬──────────────────┘
                                                   ▼
┌─────────────────────────────────────────────────────────────────────┐
│  2. GMW_Form::set_default_values()                                  │
│     action=fs => Formular als gesendet markiert                     │
│     get_form_values() nimmt $_SERVER['QUERY_STRING']                │
└──────────────────────────────────────────────────┬──────────────────┘
                                                   ▼
┌─────────────────────────────────────────────────────────────────────┐
│  3. gmw_get_form_values() (gmw-functions.php:512)                   │
│     parse_str($query_string, $output)  ohne Whitelist               │
│     $output['swlatlng'] kommt unverändert an                        │
└──────────────────────────────────────────────────┬──────────────────┘
                                                   ▼
┌─────────────────────────────────────────────────────────────────────┐
│  4. parse_query_args() (class-gmw-form-core.php:794)                │
│     gmw_swlatlng / gmw_nelatlng werden in Suchargumente kopiert     │
└──────────────────────────────────────────────────┬──────────────────┘
                                                   ▼
┌─────────────────────────────────────────────────────────────────────┐
│  5. gmw_get_locations_within_boundaries_sql() (gmw-functions:669)   │
│     $sw = explode(',', $southwest);                                 │
│     "AND ( gmw_locations.latitude BETWEEN {$sw[0]} AND {$ne[0]} )"  │
│     direkte Interpolation: ohne prepare, ohne Validierung           │
└──────────────────────────────────────────────────┬──────────────────┘
                                                   ▼
┌─────────────────────────────────────────────────────────────────────┐
│  6. WP_Query -> $wpdb->get_results()                                │
│     SQL: ... AND ( gmw_locations.latitude BETWEEN                   │
│            1 AND SLEEP(5) AND 40.416775 AND 41 ) ...                │
│     Antwort um 5s verzögert / total_results = Orakel                │
└─────────────────────────────────────────────────────────────────────┘

Voraussetzungen

  • Docker und Docker Compose (getestet mit Docker 29.4.1 / Compose v5.2.0)
  • curl und awk für den Exploit
  • Port 3080 frei (oder Mapping in docker-compose.yml ändern)

Repository-Struktur

POC-GeoLeak-CVE-2026-52715/
├── docker-compose.yml          WordPress 6.8 (PHP 8.2) + MariaDB 11
├── docker/
│   ├── Dockerfile              WP-Image + WP-CLI + Labor-Entrypoint
│   ├── lab-entrypoint.sh       Start + automatische Seeding beim ersten Boot
│   ├── seed.sh                 WP-Installation, Formular, geolokalisierten Beitrag
│   └── geo-my-wp/              Plugin GEO my WordPress 4.5.5 (verwundbarer Code)
├── poc/
│   └── poc.sh                  Exploit: time-based + boolean-based + Exfiltration
├── docs/
│   ├── analisis-tecnico.md     Vollständige Kette request -> SQL, mit Code
│   └── diff-parche-4.5.5.1-gmw-functions.php.diff   Offizieller Patch
├── LICENSE
└── README.md

Kurzanleitung

# 1. Labor starten (erster Start: 60-90 s)
docker compose up -d --build

# 2. Prüfen, ob das Seeding abgeschlossen ist
docker compose logs wordpress | grep lab-entrypoint
# [lab-entrypoint] laboratorio listo

# 3. PoC ausführen
./poc/poc.sh

# 4. Labor zerstören
docker compose down -v

Konfigurierbare Parameter des Exploits:

TARGET=http://localhost:3080 PAGE_ID=5 FORM_ID=1 SLEEP=5 ./poc/poc.sh

WordPress-Zugang: http://localhost:3080 mit admin/admin. Die Seite mit dem verwundbaren Formular ist http://localhost:3080/?page_id=5.

Hinweis: Die Seed-Zeile in wp_gmw_locations ist unerlässlich. Die Abfrage verwendet einen INNER JOIN gegen diese Tabelle: Ohne Zeilen wird das injizierte WHERE nicht ausgewertet und SLEEP() schläft nicht.


Verifizierung des Exploits

Reale Ausgabe der letzten Ausführung gegen das Labor (14. August 2026):

Tool herunterladen