Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
react2shell-poc-CVE-2025-55182 — Prova de conceito de exploit para CVE-2025-55182, uma vulnerabilidade crítica de RCE no Next.js Server Actions. Explora desserialização insegura no protocolo React Flight para executar comandos arbitrários via poluição de protótipo e bypass de sandbox. | Kitploit
Ferramentas/GitHubGitHub/tamagorengs/react2shell-poc-cve-2025-55182
Análise de VulnerabilidadesAnálise de CódigoExploraçãoExploração de Aplicações WebAprendizado e EducaçãoDesenvolvimento de Payloads
GitHubtamagorengs/react2shell-poc-cve-2025-55182

react2shell-poc-CVE-2025-55182

Prova de conceito de exploit para CVE-2025-55182, uma vulnerabilidade crítica de RCE no Next.js Server Actions. Explora desserialização insegura no protocolo React Flight para executar comandos arbitrários via poluição de protótipo e bypass de sandbox.

Ver Repositório
2há 8 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

React2Shell PoC (CVE-2025-55182)

Um script de Prova de Conceito (PoC) para React2Shell (CVE-2025-55182), uma vulnerabilidade crítica de execução remota de código (RCE) que afeta aplicações Next.js que usam Server Actions.

[!WARNING] Aviso Legal: Esta ferramenta é apenas para fins educacionais e de testes autorizados. Não sou responsável por qualquer uso indevido.

Descrição

Este script explora uma vulnerabilidade de desserialização insegura no protocolo "Flight" do React Server Components. Ele permite que invasores não autenticados executem código JavaScript arbitrário no servidor, levando a uma Execução Remota de Código (RCE) parcial.

Funcionalidades

  • Payload Robusto: Usa uma verificação de compatibilidade para encontrar require (global.require ou via construtor do módulo), garantindo que funcione em versões modernas do Node.js (v14+).
  • Configuração Dinâmica: Especifique a URL alvo e o comando por meio de flags de CLI.
  • Tratamento de Erros: Tratamento elegante de erros de conexão.

Instalação

  1. Clone o repositório.
  2. Instale as dependências:
root@kitploit:~
pip install -r requirements.txt

Uso

root@kitploit:~
python3 react2shell.py -u <TARGET_URL> [-c <COMMAND>]
ArgumentoDescriçãoPadrão
-u, --urlObrigatório. A URL alvo (ex.: http://localhost:3000/).N/A
-c, --cmdOpcional. O comando a ser executado no servidor.id

Exemplos

Verificar identidade do usuário:

root@kitploit:~
python3 react2shell.py -u http://127.0.0.1:3000/

Listar o conteúdo do diretório:

root@kitploit:~
python3 react2shell.py -u http://127.0.0.1:3000/ -c "ls -la"

Ler um arquivo sensível:

root@kitploit:~
python3 react2shell.py -u http://127.0.0.1:3000/ -c "cat /etc/passwd"

Análise Técnica

O exploit aproveita uma cadeia de Prototype Pollution e Desserialização Insegura no tratamento de Server Actions do Next.js para React Server Components (RSC).

  1. Ponto de Entrada: O cabeçalho Next-Action sinaliza ao servidor para processar uma Server Action.
  2. Prototype Pollution: O payload JSON injeta uma propriedade then maliciosa ("$1:__proto__:then"). Isso engana o manipulador de requisições assíncronas do servidor, fazendo-o tratar o payload como um "Thenable" (objeto semelhante a Promise).
  3. Injeção de Código: Quando o servidor tenta resolver essa Promise falsa, ele processa o objeto _response. O campo _prefix é normalmente usado para buffer interno do stream, mas ao manipulá-lo, podemos injetar JavaScript puro.
  4. Bypass de Sandbox: Em ambientes modernos de Next.js/Webpack, a função require geralmente é removida do escopo global para prevenir RCE. O script contorna isso percorrendo a cadeia de protótipos do process.mainModule:
    root@kitploit:~
    var require = global.require || global.process.mainModule.constructor._load;
    
    Isso recupera o carregador interno de módulos, permitindo importar child_process e executar comandos do sistema.
  5. Execução e Exfiltração: O código injetado é executado de forma síncrona (execSync), e a saída é lançada como um objeto Error. Esse erro é serializado e retornado ao cliente no corpo da resposta HTTP, permitindo visualizar a saída do comando.

Agradecimentos

Esta ferramenta foi desenvolvida com a ajuda do Gemini 3 Pro.

Baixar ferramenta