
JWT Key Confusion PoC (CVE-2015-9235), написанный для задания Hack the Box — Under Construction
Написано для челленджей Hack the Box — Under Construction и Secret
Оба включённых скрипта выполняют атаку Key Confusion на Java Web Token (CVE-2015-9235).
Для выполнения атаки атакующий должен знать открытый ключ, который сервер будет использовать для проверки подписи, а также сервер должен быть настроен на использование алгоритма HS256. Поскольку HS256 — это алгоритм с симметричным ключом (один и тот же ключ используется для подписи и проверки сообщения), мы можем использовать открытый ключ для подписи нашего изменённого токена. Так как веб-сервер знает открытый ключ, при получении изменённого токена он сможет его проверить.

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
Если аргументы не указаны, приложение будет искать файл токена , нацеливаться на утверждение и заменять значение утверждения на
./tokenusername‘ or 1=1;–pip install hashlib hmac base64 json argparse colorama