Référence du script original
Pour plus de détails sur le script d'exploitation original, référez-vous au lien gist CVE-2013-0156
Script d'exploitation CVE-2013-0156
Ce script est spécialement conçu pour résoudre le défi sur PentesterLab pour l'exploitation de la CVE-2013-0156. Vous pouvez accéder au défi ici : PentesterLab - Défi CVE-2013-0156.
Ce script Python est conçu pour exploiter la vulnérabilité CVE-2013-0156, un problème critique d'exécution de code à distance (RCE) dans les applications Ruby on Rails causé par une désérialisation non sécurisée d'objets YAML. La vulnérabilité permet à un attaquant d'injecter du code arbitraire via une charge utile YAML conçue, conduisant à une exécution de code sur le serveur cible.
Fonctionnalités
- Injection de charge utile : Le script envoie une charge utile XML conçue à l'URL cible, exploitant la vulnérabilité de désérialisation dans les applications Rails vulnérables (Rails 2.x et 3.x).
- Version cible personnalisable : Prend en charge la spécification de la version cible (Rails 2.x ou 3.x), offrant plus de contrôle sur le format de la charge utile.
- Sortie formatée : Le script présente une sortie bien structurée et visuellement attrayante avec des détails de requête et de réponse codés par couleur, facilitant le suivi du statut de l'exploit et de la réponse.
- Notification de succès : En cas d'exploitation réussie, le script notifie l'utilisateur que l'exploit a été exécuté avec succès.
Utilisation
Installation
Assurez-vous que les paquets Python requis sont installés en exécutant :
pip install requests colorama pyyaml
Exécution du script
python exploit.py <URL> <PAYLOAD> [rails3|rails2] [--show ]
Exemple
python exploit.py http://example.com/payload example_payload rails3 --show
Exemple de sortie
Lors d'une exécution réussie, le script affichera une sortie codée par couleur avec les sections suivantes :
- Requête : Affiche l'URL, les en-têtes et la charge utile XML envoyée.
- Réponse : Affiche le code d'état et le corps de la réponse (tronqué pour les réponses volumineuses).
- Notification de succès/échec : Vous informe si l'exploit a réussi ou si une erreur s'est produite.
Notes importantes
- Utilisation responsable : Ce script est conçu à des fins éducatives et ne doit être utilisé que sur des systèmes pour lesquels vous avez l'autorisation de tester. L'exploitation non autorisée de cette vulnérabilité est illégale et contraire à l'éthique.
- Versions Rails : Ce script prend en charge Rails 3.x et 2.x. Assurez-vous que la cible exécute une version vulnérable de Rails avant de tenter l'exploit.