Weaknesses of type CWE-302

44 results

Bypass de autenticação por dados assumidos como imutáveis

A aplicação assume que certos dados (como IDs de usuário, tokens ou flags de privilégio) não podem ser alterados pelo cliente e, portanto, não valida adequadamente essas informações. Um atacante consegue modificar esses dados imutáveis (via requisição HTTP, cookie ou parâmetro) para se passar por outro usuário ou elevar seus privilégios sem autenticação válida.

Example

Um sistema web armazena em cookie o ID do usuário logado como 'user_id=123' e confia cegamente nele. O atacante intercepta a requisição, muda para 'user_id=456' (outro usuário) e a aplicação processa como se fosse autêntico, concedendo acesso à conta alheia.

How to mitigate

Nunca confie em dados do cliente para decisões de autenticação e autorização. Valide sempre a sessão/token no servidor, use identificadores opacos (não sequenciais), implemente verificações de integridade criptográfica (HMAC, assinatura JWT) e mantenha estado confiável apenas no backend.