
Automatize a exploração da CVE-2015-9235
Clone ou faça o download do código-fonte da aplicação.
git clone https://github.com/WinDyAlphA/CVE-2015-9235_JWT_key_confusion
cd CVE-2015-9235_JWT_key_confusion
O arquivo token.txt contém um token JWT válido como exemplo. Você pode modificá-lo ou substituí-lo pelo seu próprio token.
Execute a aplicação usando a linha de comando com os argumentos apropriados:
python main.py -t caminho_do_token -k chave_a_substituir -v novo_valor
-t ou --token: O caminho para o arquivo que contém o token JWT original.
-k ou --key: A chave a ser substituída no token.
-v ou --value: O novo valor a ser associado à chave.
A aplicação exibirá o novo token JWT com a chave atualizada.
python main.py -t token.txt -k usuario -v "thierry23' and 1=1-- -"
Esta aplicação foi criada para ilustrar uma vulnerabilidade de segurança conhecida como CVE-2015-9235.
No módulo jsonwebtoken para Node.js antes da versão 4.2.2, é possível que um atacante burle a verificação quando um token é assinado com uma chave assimétrica (família RS/ES) de algoritmos, mas, em vez disso, o atacante envia um token assinado com um algoritmo simétrico (família HS*).