Skip to content

Разработка задания для командной игры «Capture the flag»

Notifications You must be signed in to change notification settings

RomanNoyanov/CTF_task_zssoib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

CTF_task_zssoib

Разработка задания для командной игры «Capture the flag»

Задача данной работы – разработать уникальный таск для игры CTF. Общая идея предполагает следующий механизм работы таска. Команде предлагается скачать архив, в котором содержится проект на языке Python и текстовый документ с зашифрованным сообщением. В карточке таска указанно сообщение (Рисунок 1): «Один из сотрудников ушел с работы на обед, поесть салат Цезарь с курочкой, и не сдал свой 16-ый проект за день. На звонки не отвечает и какие-то странные гудки. Я записал их для тебя −−••• −−−••• −••••− •−−−− •−−−− −−−••• ••−−− •−−−− ••••• −−−−− −−−−− ••••− ••••• •••−− •−−−− ••••− −−−−− •−−−− •−−−− ••••− −•••• •−−−− −•••• ••−−−»

image

Методология решения

Текст карточки таска На данном этапе проверяется внимательность команды и знания о криптографии, а конкретно об азбуке Морзе. В тексте карточки таска указано несколько подсказок к решению задачи, такие как «поесть салат цезарь», указывающая на метод шифрования текста, цифра проекта «16», указывающая на сдвиг шифра Цезаря, а также закодированное в азбуке Морзе сообщение. Конвертировав сообщение из азбуки Морзе в цифры, получаем «7:-1 1:2 150 04 53 140 11 46 162», данные цифры необходимы для дальнейшего решения таска.

Код Python

Следующим шагом проверяется знание команд языка программирования Python и умение проанализировать и сопоставить входные данные для решения задачи. Скачав и разархивировав архив, команда получает доступ в двум файлам. В одном из них находится проект на языке программирования Python (Рисунок 2), во втором находится зашифрованное сообщение (Рисунок 3)

image

image

Для получения промежуточного ответа необходимо использовать цифры, полученные при конвертировании азбуки Морзе «7:-1 1:2 150 04 53 140 11 46 162». Разбив цифры по парам и поместив их в квадратные скобки, получаем срезы «[7][:1][1][:2][15][0][0][4][5][3][14][0][1][1][4][6][16][2]», они являются положением необходимых символов в текстовом документе для получения промежуточного ответа. Для вывода в консоль, необходимо добавить список, из которого будет получен промежуточный ответ. «out[7][:-1],out[1][:2],out[15][0],out[0][4],out[5][3],out[14][0],out[1][1],out[4][6],out[16][2]». В консоль будет выведенно сообщение «piieyr{Y_Belu_Fo}», это флаг, зашифрованный шифром Цезаря со сдвигом 16. Расшифровав шифр Цезаря, получаем флаг к таску: «zssoib{I_Love_Py}»

В данной работе был разработан таск на тему «миск» для командной игры «Capture the Flag». Задание подойдёт для игр между командами внутри академической группы или академического потока для тренировки используемых тем. В таске задействованы две тематики: PPS и криптография. Общая сумма баллов за задание – 300.

About

Разработка задания для командной игры «Capture the flag»

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages