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