Falhas do tipo CWE-37

6 resultados

Travessia de Diretório (Path Traversal)

Fraqueza onde a aplicação não valida ou sanitiza adequadamente caminhos de arquivo fornecidos pelo usuário, permitindo acesso a arquivos fora do diretório pretendido. Um atacante usa sequências como '../' ou caminhos absolutos para navegar o sistema de arquivos e ler, modificar ou deletar arquivos sensíveis.

Exemplo

Uma aplicação web permite download de documentos via URL do tipo /download?file=relatorio.pdf, mas não valida o parâmetro 'file'. Um atacante fornece /download?file=../../etc/passwd e consegue ler o arquivo de senhas do sistema, ou /download?file=../../../config.php para acessar credenciais de banco de dados.

Como mitigar

Implemente whitelist de nomes ou caminhos permitidos; normalize e valide todo caminho de arquivo contra um diretório-base usando funções seguras (realpath, Path.Combine com validação); nunca concatene entrada do usuário diretamente em caminhos. Use tokens opcos mapeados no servidor em vez de nomes de arquivo diretos.