1001Ferramentas
🛡️Validadores

JWT Algoritmo: Policy Checker

Verifica se o "alg" do header JWT está em uma allowlist segura (rejeita "none" e HS256 em contextos JWE).

Resultado

Por que aceitar qualquer alg é perigoso

Uma biblioteca de JWT mal configurada aceita o algoritmo que o próprio token declara. Quem envia o token passa a escolher como ele vai ser verificado, e daí saem os dois ataques clássicos: trocar alg para none e ficar sem assinatura nenhuma, ou trocar RS256 por HS256 e assinar com a chave pública, que é pública. A defesa é uma lista fixa de algoritmos aceitos no servidor.

O que acontece aqui: o primeiro pedaço do token é decodificado, o campo alg do header é lido e comparado com a lista que você digita separada por vírgulas. A comparação é exata e diferencia maiúsculas de minúsculas, então rs256 não casa com RS256, e vale escrever a lista igualzinha ao que sua biblioteca espera. O caso alg=none tem mensagem própria, com a referência ao CVE-2015-9235 junto.

Vale dizer o que isto não faz: não confere a assinatura, não busca chave em endpoint JWKS e não sabe nada de JWE, onde alg descreve o gerenciamento de chave e o algoritmo de conteúdo fica em enc. É um teste de política, não de autenticidade. Serve para a revisão, quando você quer confirmar se o token que chega no serviço bate com a allowlist configurada. O header é decodificado no próprio navegador.

Perguntas frequentes

O que é o ataque alg=none?
É um token que declara não ter assinatura. Bibliotecas que confiam no header aceitam qualquer payload assim. O buraco foi documentado no CVE-2015-9235 e ainda reaparece em código de verificação escrito à mão.
Por que misturar HS256 e RS256 na allowlist é arriscado?
Porque o atacante pode pegar a chave pública RSA, que é distribuída livremente, e usá-la como segredo HMAC. Mantenha uma família de algoritmos por allowlist.
A ferramenta valida a assinatura do token?
Não. Ela lê apenas o campo alg do header e compara com a lista que você informou. A verificação criptográfica continua sendo trabalho da sua biblioteca.

Ferramentas Relacionadas