Skip to content

Latest commit

 

History

History
38 lines (24 loc) · 3.16 KB

File metadata and controls

38 lines (24 loc) · 3.16 KB

Органайзер

Событие Название Категория Сложность
VKA-CTF`2020 Органайзер Криптография 1-3 курс

Описание

Автор: iC0nst

Чем больше подчиненных, тем больше задач им приходится ставить. За всем и не уследишь. Для таких целей мы как раз начали изобретать сервис управления задачами. Правда у нас есть некоторые трудности. Зайдите за администратора и попробуйте разобраться во всем.

Решение

Поскольку в задании не даны исходные файлы, и явных подсказок нет, то сначала просто ознакомимся с функционалом сайта. Зарегистрировавшись с логином/паролем qwe : qwe в личном кабинете нас ждёт следующая надпись :

qwe, для вас пока нет задач

Ничего интересного больше нет.

Однако, выйдя с сайта и зайдя на него снова, нажав на вкладку Задачи , мы попадаем снова в свой аккаунт.

Проверим файлы cookie. Есть cookie с названием cryptouser, формат которой очень похож на jwt.

eyJhbGciOiAiRUNEU0EiLCJ0eXAiOiAiUDM4NCIsICJtZXNzYWdlX2hhc2giOiAic2hhMSJ9.eyJ1c2VyIjogImFzZGZnaCIsICJhZG1pbiI6ICJ0cnVlIn0=.Wzc5ODU4NjI3MTE0NjA3MzQ2MTUyODYyNzY1MDgxNTUyNDYwNTM5NDkyNDYzNzM1MjQ4NzcyMzYzMTY0MjY3NjQ0Nzc0NzQzNTcxMTAyODE2OTQ5MDk5MDc1MTI2OTYyNzU1MzEzMjc2NTM5ODg0NzkxMzUsIDQ3MTk4OTg1Mzk3NDI1MzExOTI3Njc0OTQ5NTMxODIyOTEyMTc0NTI1MDc4MjU5Njg3Njg2MDMxMzY3ODg3NzU3OTYwODYwNDYwMTg1MzE0NTcxNDkzMTYyODQ3NTQ1OTE2MTc3NDgyMDU4ODY5MjgyNjNd

Из заголовка видно, что для подписи заголовка и пэйлоада (второй части) используется алгоритм ecdsa, при этом используется стандартная эллиптическая кривая P224:

{"alg": "ECDSA", "typ": "P224", "message_hash": "sha1"}

Известно, что при использовании ecdsa-алгоритма обязательно надо генерировать новое значение k для каждой подписи, поскольку в противном случае приватный ключ будет раскрыт.

Создав ещё один аккаунт, убеждаемся, что значения r в двух подписях одинаковы, из чего делаем вывод о возможности подделки cookie со значением "true" по ключу "админ".

После подмены cookie и обновления страницы нас встречает следующая фраза.

vka{curv35_0f_m1l174ry_cyb3r53cur17y_c0n7357}