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-2023-41892_PoC — Scripts de preuve de concept et laboratoire Docker pour reproduire la CVE-2023-41892, une vulnérabilité d'exécution de code à distance sans authentification dans Craft CMS. Inclut des exploits de log poisoning et d'écriture de fichiers MSL Imagick. | Kitploit
Outils/GitHubGitHub/lyccyc/cve-2023-41892_poc
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationLabs et Pratique
GitHublyccyc/cve-2023-41892_poc

CVE-2023-41892_PoC

Scripts de preuve de concept et laboratoire Docker pour reproduire la CVE-2023-41892, une vulnérabilité d'exécution de code à distance sans authentification dans Craft CMS. Inclut des exploits de log poisoning et d'écriture de fichiers MSL Imagick.

Voir le dépôt
1il y a 2 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

PoC CVE-2023-41892 pour Craft CMS

Ce dépôt contient des scripts de preuve de concept et un laboratoire local Vulhub pour reproduire la CVE-2023-41892, une vulnérabilité d'exécution de code à distance sans authentification préalable dans Craft CMS.

N'utilisez ce projet que dans un laboratoire local autorisé ou sur d'autres systèmes pour lesquels vous disposez d'une autorisation explicite de test.

Structure du projet

root@kitploit:~
CVE-2323-41892_PoC/
+-- README.md
+-- LFI_to_RCE.py
+-- Imagick_PoC.py
+-- Vulnhub_env/
    +-- docker-compose.yml
    +-- README.md
    +-- README.zh-cn.md
    +-- 1.png ... 5.png

Rôle des fichiers

CheminRôle
LFI_to_RCE.pyPoC pour l'empoisonnement des journaux suivi d'une inclusion locale de fichier via le gadget Psy\Configuration.
Imagick_PoC.pyPoC pour l'écriture arbitraire de fichier via le gadget MSL Imagick.
Vulnhub_env/docker-compose.ymlLaboratoire Docker Compose qui démarre Craft CMS 4.4.14 vulnérable et MySQL 5.7.
Vulnhub_env/README.mdNotes de reproduction originales de style Vulhub avec exemples de requêtes et captures d'écran.
Vulnhub_env/README.zh-cn.mdVersion chinoise des notes de reproduction Vulhub.
Vulnhub_env/*.pngCaptures d'écran utilisées par la documentation de l'environnement Vulhub.

Résumé de la vulnérabilité

La CVE-2023-41892 affecte les versions de Craft CMS allant de 4.0.0-RC1 à 4.4.14. Le problème a été corrigé dans Craft CMS 4.4.15.

Le point de terminaison vulnérable utilisé par les deux scripts est :

root@kitploit:~
/index.php?action=conditions/render

Les PoC ciblent l'URL par défaut du laboratoire local :

root@kitploit:~
http://localhost:8088

Si votre laboratoire s'exécute sur un autre hôte ou port, mettez à jour la valeur URL près du haut de LFI_to_RCE.py et Imagick_PoC.py.

Prérequis

  • Docker et Docker Compose
  • Python 3
  • Paquet Python : requests

Installez la dépendance Python :

root@kitploit:~
pip install requests

Configuration du laboratoire

Démarrez l'environnement Craft CMS vulnérable :

root@kitploit:~
cd Vulnhub_env
docker compose up -d

Ouvrez l'installeur Craft CMS :

root@kitploit:~
http://localhost:8088/admin/install

Utilisez les paramètres de base de données par défaut suivants lors de l'installation :

ParamètreValeur
Hôte de la base de donnéesdb
Nom de la base de donnéescraftcms
Utilisateur de la base de donnéesroot
Mot de passe de la base de donnéesroot

Après l'installation, vérifiez que le site est accessible à l'adresse :

root@kitploit:~
http://localhost:8088

Utilisation

Exécutez les commandes depuis la racine du dépôt :

root@kitploit:~
cd CVE-2323-41892_PoC

PoC 1 : Empoisonnement des journaux vers RCE

Exécutez :

root@kitploit:~
python LFI_to_RCE.py

Ce qu'il fait :

  1. Envoie un JSON malformé contenant du code PHP au journal de Craft CMS.

  2. Construit un chemin de fichier journal en utilisant la date locale actuelle :

    root@kitploit:~
    ../storage/logs/web-YYYY-MM-DD.log
    
  3. Utilise craft\elements\conditions\users\UserCondition avec \Psy\Configuration pour inclure le fichier journal empoisonné.

  4. Vérifie si la sortie de phpinfo() apparaît dans la réponse.

Sortie attendue en cas de succès :

root@kitploit:~
[*] Starting Log Poisoning...
[+] Payload sent successfully!
[*] Starting LFI to RCE...
[+] phpinfo() executed successfully!

PoC 2 : Écriture de fichier MSL via Imagick

Exécutez :

root@kitploit:~
python Imagick_PoC.py

Ce qu'il fait :

  1. Téléverse une charge utile MSL via des données de formulaire multipart.
  2. Déclenche la création d'objets avec le gadget Imagick.
  3. Tente d'écrire webshell.php dans la racine web.
  4. Envoie une requête à http://localhost:8088/webshell.php et vérifie la présence de phpinfo().

Sortie attendue en cas de succès :

root@kitploit:~
[*] Sending multipart/form-data payload to trigger Imagick gadget...
[+] Success: phpinfo() output found.

L'exploitation via Imagick peut faire planter le worker PHP après le déclenchement de la charge utile. Dans le laboratoire Vulhub, cela peut rester normal si webshell.php est écrit avant le plantage.

Configuration

Les deux scripts définissent l'URL cible en haut du fichier :

root@kitploit:~
URL = "http://localhost:8088"

Modifiez cette valeur si le laboratoire vulnérable est exposé sur une autre adresse.

Imagick_PoC.py vérifie le fichier généré à l'adresse :

root@kitploit:~
OUTPUT_FILE = "/webshell.php"

Dépannage

Les scripts ne peuvent pas se connecter

  • Vérifiez que les conteneurs sont en cours d'exécution :

    root@kitploit:~
    cd Vulnhub_env
    docker compose ps
    
  • Vérifiez que le site est accessible à l'adresse http://localhost:8088.

  • Vérifiez si un autre service utilise déjà le port 8088.

  • Mettez à jour la valeur URL dans les scripts Python si vous avez modifié le port exposé.

LFI_to_RCE.py n'affiche pas PHP Version

  • Vérifiez que l'installation de Craft CMS est terminée.
  • Vérifiez que Craft CMS écrit les journaux dans storage/logs/.
  • Vérifiez que la date du nom du fichier journal correspond à la date du conteneur.
  • Si les dates de votre hôte et du conteneur diffèrent, mettez à jour le chemin web-YYYY-MM-DD.log généré dans LFI_to_RCE.py.

Imagick_PoC.py renvoie 404 pour /webshell.php

  • Vérifiez que l'extension PHP Imagick est activée dans l'environnement cible.
  • Vérifiez que le processus PHP peut écrire dans la racine web.
  • Vérifiez que les fichiers temporaires téléversés sont créés sous /tmp/php*.
  • Réessayez une fois si le worker PHP a planté pendant la requête de déclenchement.

Nettoyage

Arrêtez le laboratoire :

root@kitploit:~
cd Vulnhub_env
docker compose down

Supprimez les conteneurs et le volume de la base de données si vous souhaitez une réinstallation propre :

root@kitploit:~
docker compose down -v

Mesures d'atténuation

Mettez à niveau Craft CMS vers 4.4.15 ou une version ultérieure.

En cas de suspicion d'exploitation, faites pivoter la clé de sécurité Craft CMS, les identifiants de la base de données, les secrets de l'application et tous les identifiants stockés dans l'environnement.

Références

  • Reproduction Vulhub : https://github.com/vulhub/vulhub/blob/master/craftcms/CVE-2023-41892/README.md
  • Avis de sécurité Craft CMS : https://github.com/craftcms/cms/security/advisories/GHSA-4w8r-3xrw-v25g
  • Entrée NVD : https://nvd.nist.gov/vuln/detail/CVE-2023-41892
Télécharger l’outil