так назывался официальный чатик
Обычно QCTF всегда радовал прекрасными тасками, но в этот раз было что-то особенное. Сервисы лежали почти всю игру. Кто-то спрашивал “Ну что, сколько у вас очков?”, а мы открывали скорборд и отвечали “опять 500, блин”, потому что скорборд отвечал “500 Internal Server Error”. Вроде и здорово, что ребята решили провести второй QCTF Starter за год, но лучше бы не проводили. Тем не менее, публикую разборы тасков, которые я решал.
UPD. Спасибо всем за комменты, пост разошёлся как горячие пирожки (is this a Cup of Cups reference?!). Допилил райтапы, теперь, кажется, ничего не упущено.
Однажды Эрнест Хемингуэй поспорил, что сможет написать самый короткий райтап, способный растрогать любого. Он выиграл спор:
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)
Чекаем 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}