
PoC - Écriture de fichier arbitraire dans Gibbon LMS pour RCE (CVE-2023-45878)
Arbitrary File Write in Gibbon LMS for RCE (CVE-2023-45878)
GibbonEdu Gibbon LMS version 25.0.1 et antérieures permet l'écriture arbitraire de fichier car rubrics_visualise_saveAjax.php ne nécessite pas d'authentification. Le point de terminaison accepte les paramètres img, path et gibbonPersonID. Le paramètre img est censé être une image encodée en base64. Si le paramètre path est défini, le chemin défini est utilisé comme dossier de destination, concaténé avec le chemin absolu du répertoire d'installation. Le contenu du paramètre img est décodé en base64 et écrit dans le chemin de fichier défini. Cela permet la création de fichiers PHP qui permettent l'exécution de code à distance (sans authentification).
Ce script fournit un shell pseudo-interactif. Un seul fichier PHP est téléversé sur le système distant et le script local fournit un wrapper pour interagir directement avec lui. Lorsqu'une commande est soumise, il renvoie la réponse HTTP de la charge utile PHP. Si le fichier de la charge utile est supprimé du système distant, le script détectera une réponse de page d'erreur 404, effectuera un nouveau téléversement et soumettra à nouveau la dernière commande.
python3 gibbonlms_cmd_shell.py url
python3 gibbonlms_cmd_shell.py http://example.com
Ce script est fourni à des fins éducatives. Veuillez pwn de manière responsable.