
自动化CVE-2015-9235的利用
Клонируйте или скачайте исходный код приложения.
git clone https://github.com/WinDyAlphA/CVE-2015-9235_JWT_key_confusion
cd CVE-2015-9235_JWT_key_confusion
Файл token.txt содержит пример действительного JWT-токена. Вы можете изменить его или заменить своим собственным токеном.
Запустите приложение из командной строки с соответствующими аргументами:
python main.py -t token_path -k key_to_replace -v new_value
-t или --token: Путь к файлу, содержащему исходный JWT-токен.
-k или --key: Ключ, который необходимо заменить в токене.
-v или --value: Новое значение, которое будет связано с ключом.
Приложение отобразит новый JWT-токен с обновленным ключом.
python main.py -t token.txt -k user -v "thierry23' and 1=1-- -"
Это приложение было создано для демонстрации известной уязвимости безопасности, указанной под номером CVE-2015-9235.
В модуле jsonwebtoken для Node.js до версии 4.2.2 злоумышленник может обойти проверку, если токен подписан с использованием асимметричного ключа (семейство алгоритмов RS/ES), но вместо этого злоумышленник отправляет токен, подписанный симметричным алгоритмом (семейство HS*).