
Conteneur Docker pour configurer une version vulnérable d'elfinder sur les serveurs nginx et apache. Peut être utilisé pour tester un POC de vulnérabilité.
Ce dépôt contient une configuration de reproduction pour CVE-2021-23394 (Exécution arbitraire de fichiers dans elFinder) à l'aide de Docker. Il met en place quatre environnements pour comparer les versions vulnérables et corrigées sur Apache et Nginx.
La configuration comprend :
8080) : elFinder 2.1.57 sur Apache8081) : elFinder 2.1.66 sur Apache8082) : elFinder 2.1.57 sur Nginx8083) : elFinder 2.1.66 sur NginxRendre le script de configuration exécutable (si ce n'est pas déjà fait) :
chmod +x setup_containers.sh
Exécuter le script de configuration :
./setup_containers.sh
Cela construira les images Docker et démarrera les conteneurs.
Vous pouvez accéder à l'interface elFinder dans votre navigateur à :
Pour vérifier la vulnérabilité (ou la correction), utilisez Nuclei avec le modèle approprié.
Exécutez les commandes suivantes (remplacez path-to-nuclei-templates par le chemin réel de votre répertoire de modèles) :
# Test Apache vulnérable (devrait être vulnérable)
nuclei -t path-to-nuclei-templates/http/cves/2021/CVE-2021-23394.yaml -u http://localhost:8080
# Test Apache corrigé (ne devrait PAS être vulnérable)
nuclei -t path-to-nuclei-templates/http/cves/2021/CVE-2021-23394.yaml -u http://localhost:8081
# Test Nginx vulnérable (devrait être vulnérable)
nuclei -t path-to-nuclei-templates/http/cves/2021/CVE-2021-23394.yaml -u http://localhost:8082
# Test Nginx corrigé (ne devrait PAS être vulnérable)
nuclei -t path-to-nuclei-templates/http/cves/2021/CVE-2021-23394.yaml -u http://localhost:8083
Sinon, testez tout à la fois en créant un fichier targets.txt :
echo -e "http://localhost:8080\nhttp://localhost:8081\nhttp://localhost:8082\nhttp://localhost:8083" > targets.txt
nuclei -t path-to-nuclei-templates/http/cves/2021/CVE-2021-23394.yaml -l targets.txt
Résultats attendus :
Pour arrêter et supprimer les conteneurs, vous pouvez exécuter la commande de nettoyage dans le script ou manuellement :
docker rm -f elfinder-apache-vuln elfinder-apache-patched elfinder-nginx-vuln elfinder-nginx-patched