ANÚNCIO

~/questoes/ciberseguranca

O que caracteriza uma falha em lógica de autenticação em uma aplicação web?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência TryHackMe OWASP Top 10 2025: falhas de design de aplicação
Para fixar

Falhas em Lógica de Autenticação: Identificando Vulnerabilidades de Design

Conceito central

Falhas de autenticação ocorrem quando a aplicação não verifica adequadamente a identidade do usuário ou faz pressupostos errados sobre quem deveria ter acesso a cada recurso. Diferentemente de erros de codificação simples, essas falhas estão embutidas na lógica e arquitetura da aplicação, funcionando exatamente como foi projetada—mas de forma insegura.

Por que essa resposta faz sentido

A resposta correta identifica que falhas de autenticação são caracterizadas pela verificação insuficiente de identidade e pressupostos incorretos sobre permissões. O problema não está necessariamente em detalhes técnicos isolados, mas em como a lógica de acesso foi fundamentalmente planejada.

Armadilhas comuns

  • Confundir falhas de lógica com problemas técnicos isolados (como qual banco de dados usar ou qual linguagem programar). A falha de lógica é sobre como a aplicação foi arquitetada para autenticar.
  • Pensar que criptografia forte garante autenticação segura. Mesmo com criptografia perfeita, se a lógica de quem acessa o quê for mal planejada, há vulnerabilidade.
  • Assumir que o código está 'quebrado' ou contém erros óbvios. Muitas vezes a aplicação funciona exatamente como foi projetada—o problema é que foi projetada inseguramente.

Entenda as alternativas

A

Armazenar dados em texto simples é uma má prática de implementação, não a característica que define uma falha de lógica de autenticação. Uma falha de lógica é mais sobre como a autenticação funciona, não apenas como os dados são guardados.

B

Esta alternativa descreve corretamente o cerne das falhas de autenticação: quando a aplicação não verifica adequadamente quem é o usuário ou assume coisas erradas sobre quem deveria ter permissão. É uma falha de design, não apenas de técnica.

C

A linguagem de programação usada não determina se há falha de autenticação. Uma falha de lógica pode ocorrer em Python, Java, PHP ou qualquer outra linguagem. O problema é o raciocínio por trás da verificação, não a ferramenta.

D

Algoritmos desatualizados como MD5 ou SHA1 são problemas de criptografia fraca, não falhas de lógica de autenticação. Uma falha de lógica é quando a verificação em si está inadequada, independente do algoritmo usado.

Dica prática: Na próxima vez que revisar um código de autenticação, não olhe apenas para técnicas criptográficas. Pergunte-se: qual é a lógica real aqui? Quem pode acessar o quê? Que pressupostos foram feitos sobre os usuários? Essas perguntas ajudam a identificar falhas de design antes de elas se tornarem vulnerabilidades.

Revise pensando: Se uma aplicação assume que um usuário comum 'nunca conseguiria' acessar a área administrativa, mas não implementa verificações explícitas de permissão, isso é um problema técnico ou uma falha de lógica?