Fallos del tipo CWE-31
11 resultadosTravessia de diretório com barras invertidas
Ocorre quando a aplicação não valida corretamente caminhos contendo sequências como 'dir\..\..\filename', permitindo que um atacante navegue para fora do diretório permitido usando barras invertidas (sintaxe Windows). O código assume que a validação funciona independentemente do separador de caminho, mas falha em normalizações inadequadas antes de rejeitar caracteres perigosos.
Uma API de download recebe o parâmetro ?file=uploads\..\..\windows\system32\config\sam, tentando acessar arquivo fora da pasta 'uploads'. Se a validação apenas bloqueia '/' mas não '\\', o atacante extrai dados sensíveis do sistema operacional.
Normalize o caminho completo (use APIs como Path.GetFullPath() em .NET ou realpath() em PHP) antes de qualquer validação, depois verifique se o caminho resolvido fica dentro do diretório permitido. Mantenha uma lista de permissões de arquivos, não apenas bloqueios de padrões.