RCE (Remote Code Execution)

Como Explorar

RCE permite que um atacante execute comandos arbitrários no servidor, podendo tomar controle total do sistema.

terminal
Exemplo:

GET /run?cmd=ls%20/
  • Envie comandos via parâmetros de requisição.
  • Observe respostas e efeitos no sistema.
  • Tente comandos encadeados (&&, ;).

Por que acontece

Ocorre quando a aplicação executa comandos do sistema operacional com dados do usuário sem validação adequada.

  • Uso de funções como exec, system, spawn sem sanitização.
  • Concatenação direta de entradas do usuário em comandos.
  • Falta de restrições de permissões no sistema.

Como Corrigir

  • Evite executar comandos do SO com dados do usuário.
  • Use listas de comandos permitidos (whitelist).
  • Sanitize e valide todas as entradas.
terminal
// Exemplo seguro em Node.js
const allowed = ['ls', 'whoami'];
if (!allowed.includes(userCmd)) throw new Error('Comando não permitido');