Weaknesses of type CWE-647

11 results

Decisões de autorização baseadas em caminhos de URL não-canônicos

A aplicação toma decisões de controle de acesso analisando o caminho da URL tal como vem da requisição, sem normalizá-lo antes. Um atacante pode contornar filtros e regras de acesso usando variações do mesmo caminho (como /admin, /../admin, /admin/, /admin%00) que o navegador ou servidor interpreta como equivalente, mas o código de autorização não.

Example

Uma API bloqueia acesso a /admin/users, mas permite /admin/users/../../../admin/users ou /admin/users%2e%2e (codificação de URL) porque a validação ocorre antes da normalização. O atacante consegue acessar dados administrativos contornando a regra.

How to mitigate

Normalize o caminho da URL antes de qualquer decisão de autorização (remova .., decodifique caracteres, remova barras redundantes). Use uma lista branca (whitelist) de caminhos permitidos e valide contra a forma canônica, nunca contra a string bruta da requisição.