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');