Ícone do Lab

JWT Algo Confusion

Desafio Atualizado em 01 mai. 2026 Solução (Pro)
JWT Algorithm Confusion RS256 HS256 Token Forgery Web Security

Inicie a máquina, hackeie o sistema e encontre as flags escondidas para completar este desafio e ganhar XP!

1
Flags
5
XP
52%
Taxa de Sucesso

A confusão de algoritmo de JSON Web Token (JWT) é uma classe de vulnerabilidade crítica que explora como as aplicações lidam com a verificação de assinatura JWT. Quando um servidor é configurado para aceitar múltiplos algoritmos de assinatura sem validação adequada, atacantes podem manipular o cabeçalho de algoritmo do token para enganar o servidor e fazê-lo usar um método de verificação diferente do pretendido - potencialmente permitindo contorno completo da autenticação. O JWT hacking através de confusão de algoritmo é um dos ataques JWT mais impactantes descobertos até hoje.

Entendendo os algoritmos de assinatura JWT

Os JWTs suportam duas categorias principais de algoritmos de assinatura: simétricos (baseados em HMAC, como HS256) e assimétricos (baseados em RSA ou ECDSA, como RS256). Com RS256, o servidor assina tokens usando uma chave privada e os verifica usando a chave pública correspondente. Com HS256, a mesma chave secreta é usada tanto para assinar quanto para verificar. Essa distinção é a base do ataque de confusão de algoritmo.

Como a confusão de algoritmo funciona

O ataque explora uma interação perigosa entre esses tipos de algoritmo. Se um servidor usa RS256, sua chave pública geralmente está disponível (às vezes até publicada). Um atacante pode alterar o algoritmo no cabeçalho JWT de RS256 para HS256, então assinar o token modificado usando a chave pública do servidor como o segredo HMAC. Quando o servidor processa esse token, uma implementação vulnerável lê o algoritmo do cabeçalho do token, vê HS256 e usa sua chave pública RSA como chave de verificação HMAC - correspondendo exatamente à assinatura do atacante. Isso permite que o atacante falsifique tokens com claims arbitrários.

Impacto real do JWT hacking

Vulnerabilidades de confusão de algoritmo foram encontradas em bibliotecas JWT importantes de múltiplas linguagens de programação, incluindo PyJWT para Python, node-jsonwebtoken para Node.js e firebase/php-jwt para PHP. Quando exploradas, atacantes ganham a capacidade de falsificar tokens administrativos, escalar privilégios, se passar por qualquer usuário e contornar completamente a autenticação. A natureza generalizada dessa vulnerabilidade levou a avisos de segurança significativos e atualizações de bibliotecas em todo o ecossistema JWT.

Prevenção e implementação segura

Implementações JWT seguras devem especificar explicitamente o algoritmo esperado no lado do servidor em vez de confiar no algoritmo declarado no cabeçalho do token. Bibliotecas devem ser configuradas para rejeitar valores de algoritmo inesperados, e aplicações nunca devem permitir troca de algoritmo entre tipos simétricos e assimétricos. Manter bibliotecas JWT atualizadas e seguir melhores práticas de segurança para manipulação de tokens previne ataques de confusão de algoritmo.

O que você vai aprender

  • Como os algoritmos de assinatura JWT diferem entre HS256 e RS256
  • Os mecanismos dos ataques de confusão de algoritmo JWT
  • Falsificação de tokens trocando de algoritmos assimétricos para simétricos
  • Identificação de vulnerabilidades de confusão de algoritmo em implementações JWT
  • Configuração JWT segura para prevenir ataques baseados em algoritmos

Pré-requisitos

Basic understanding of JWTs HTTP authentication concepts Familiarity with base64 encoding

Pronto para hackear este lab?

Crie uma conta gratuita e pratique cibersegurança.

Começar - É grátis
Comece Seu Desafio
~1-2 min de configuração
Servidor dedicado
Instância privada
Potência padrão
Novo aqui? Veja o que fazer
1
Clique em "Start Lab" acima Você receberá sua própria máquina com um endereço IP
2
Explore o alvo Abra o IP no seu navegador e procure vulnerabilidades
3
Encontre e envie as flags Flags são textos secretos escondidos no sistema - cole-os abaixo para pontuar

Pronto para hackear este lab?

Crie uma conta gratuita para iniciar seu próprio servidor dedicado, enviar flags e ganhar XP no ranking.

Começar a Hackear Grátis
12.000+ Hackers 100+ Labs & Cursos Grátis
Comece Grátis