Directory Traversal

Como Explorar

Directory Traversal permite que um atacante acesse arquivos e diretórios fora do diretório raiz da aplicação, manipulando parâmetros de caminho.

terminal
Exemplo:

GET /download?file=../../../../etc/passwd
  • Teste parâmetros de arquivos com ../ para subir diretórios.
  • Busque arquivos sensíveis do sistema.

Por que acontece

Ocorre quando a aplicação não valida ou restringe corretamente os caminhos de arquivos fornecidos pelo usuário.

  • Concatenação direta de parâmetros em caminhos de arquivos.
  • Falta de validação e sanitização dos inputs.

Como Corrigir

  • Restrinja caminhos permitidos (whitelist).
  • Normalize e valide os caminhos recebidos.
  • Evite expor diretórios sensíveis.
terminal
// Exemplo seguro em Node.js
const safeBase = '/app/files/';
const filePath = path.normalize(path.join(safeBase, userInput));
if (!filePath.startsWith(safeBase)) throw new Error('Acesso negado');