
Automatizar Exploração de JWT (CVE-2018-0114)
Fiz esta ferramenta para fins de aprendizado e para automatizar o sequestro de tokens JWT sem depender do uso do Burp Suite. O código é bem documentado e fácil de seguir. Baseado em (CVE-2018-0114) A vulnerabilidade ocorre porque no backend o servidor verifica o objeto jwk incorporado no cabeçalho JWT; ele contém n e e, que são 2 parâmetros usados para formar a chave pública.
1) Um atacante gera novos PARES DE CHAVES RSA,
2) Obtém n e e e os injeta dentro do objeto jwk nos cabeçalhos JWT
3) Altera quaisquer valores na seção do corpo do JWT e o assina com sua chave privada
4) O servidor usa a chave pública do atacante para verificar a assinatura.
5) Criei uma função de verificação para garantir que o JWT foi explorado com sucesso ou não, tentando decodificá-lo usando a chave pública do atacante (n e e)
1) Substitua o valor da variável "jwt_orginal na linha 125" pelo novo JWT vulnerável
2) Adicione quaisquer atributos que deseje alterar dentro do objeto dicionário "dict_values na linha 126"
3) Aproveite