Skip to content

Session Hijacking

O Sequestro de Sessão (Session Hijacking) ocorre quando um atacante consegue obter o identificador de sessão de um usuário legítimo e o utiliza para se passar por esse usuário perante o servidor.

Como o ataque acontece?

  1. Roubo de Cookies (XSS): O atacante injeta um script que lê o cookie de sessão e o envia para um servidor externo.
  2. Interceptação de Rede (Sniffing): Se a conexão não for HTTPS, o atacante pode ler o token que viaja em texto puro.
  3. Predição de ID: Se os IDs de sessão forem sequenciais ou previsíveis, o atacante pode tentar adivinhá-los.

Como fazer vs Como não fazer

✅ Como fazer

  • Utilize o atributo HttpOnly em todos os cookies de sessão para mitigar roubo via XSS.
  • Utilize HTTPS em toda a aplicação para impedir interceptação.
  • Implemente IDs de sessão aleatórios e longos (geralmente gerenciados por bibliotecas de backend seguras ou JWTs assinados).
  • Implemente o Logout no Servidor: Quando o usuário clica em sair, a sessão deve ser invalidada no servidor, e não apenas o cookie deletado no Front-end.
  • Utilize o cabeçalho Strict-Transport-Security (HSTS).

❌ Como não fazer

  • Não utilize IDs de sessão baseados em informações do usuário (como nome ou ID do banco) que possam ser adivinhados.
  • Não envie o identificador de sessão como um parâmetro na URL (ex: site.com/home?session_id=123), pois ele vaza em logs de servidor e no histórico do navegador.
  • Não configure tempos de expiração de sessão excessivamente longos para aplicações que lidam com dados sensíveis de saúde.