
PoC de Confusão de Chave JWT (CVE-2015-9235) Escrito para o desafio Hack the Box - Em Construção
Escrito para os desafios do Hack the Box - Under Construction e Secret
Ambos os scripts incluídos realizam um ataque de confusão de chave de Java Web Token (CVE-2015-9235).
Para realizar o ataque, é necessário que o atacante conheça a chave pública que o servidor usará para verificar a assinatura, bem como o servidor estar configurado para usar o algoritmo HS256. Como o HS256 é um algoritmo de chave simétrica (a mesma chave é usada para assinar e verificar a mensagem), podemos usar a chave pública para assinar nosso token adulterado. Como o servidor web conhece a chave pública, quando receber o token adulterado, poderá verificá-lo.

python3 jwt-9235.py [-h] [token_location] [claim_key] [claim_value]
positional arguments:
token_location location of JWT token (must include 'pk' payload)
claim_key payload claim to target
claim_value new claim value
optional arguments:
-h, --help show this help message and exit
Se nenhum argumento for fornecido, o aplicativo procurará um arquivo de token ./token, terá como alvo a declaração username e substituirá o valor da declaração por ‘ or 1=1;–
pip install hashlib hmac base64 json argparse colorama