так назывался официальный чатик

так назывался официальный чатик

Обычно QCTF всегда радовал прекрасными тасками, но в этот раз было что-то особенное. Сервисы лежали почти всю игру. Кто-то спрашивал “Ну что, сколько у вас очков?”, а мы открывали скорборд и отвечали “опять 500, блин”, потому что скорборд отвечал “500 Internal Server Error”. Вроде и здорово, что ребята решили провести второй QCTF Starter за год, но лучше бы не проводили. Тем не менее, публикую разборы тасков, которые я решал.

UPD. Спасибо всем за комменты, пост разошёлся как горячие пирожки (is this a Cup of Cups reference?!). Допилил райтапы, теперь, кажется, ничего не упущено.

Lights Out

Однажды Эрнест Хемингуэй поспорил, что сможет написать самый короткий райтап, способный растрогать любого. Он выиграл спор:

Сфинкс

F. Его даже не подняли.

UPD. Мы связались с одним из свидетелей живого сфинкса и вот что он сообщил:

Ivan Fedotov, [10.12.18 01:48]

Мы кста смогли на сфинкса зайти

Ivan Fedotov, [10.12.18 01:48]

Там крч загадки на которые нет ответа

Ivan Fedotov, [10.12.18 01:48]

Типа вот часовая башня, рядом стрелок, куда он попал?

Ivan Fedotov, [10.12.18 01:48]

И походу ответить нельзя

Ivan Fedotov, [10.12.18 01:49]

Пишет типа чзнх я на балайском не говорю

Драйв

Реверс. Джава. Декомпилим через jd-gui, смотрим Main:

Main (креды для какого-то API)

Main (креды для какого-то API)

Чекаем DriveClient:

DriveClient (интересующий нас кусочек, остальное не так интересно)

DriveClient (интересующий нас кусочек, остальное не так интересно)

Есть действие list, которое не используется в Main. Делаем запрос к API:

-> $ curl <https://drive.contest.qctf.ru/list?api_key=5b5bb1dd418cd1eeedf6bccce04898a95d5b6dde>
[{"filename":"flag.txt","key":"a85a7e82a0e04bf1b97e227466fbbace","size":30}]

Берём key для flag.txt, делаем get:

-> $ curl <https://drive.contest.qctf.ru/get?key=a85a7e82a0e04bf1b97e227466fbbace&api_key=5b5bb1dd418cd1eeedf6bccce04898a95d5b6dde>
QCTF{50_S3cUR3_4p1_ODMNVY6FLP}

Гокайдо