К содержимому
CaptureTheFlag.ru

CTF Task-Based (Jeopardy): что это такое и как в него играют

Обновлено 21.08.2026

Task-Based (сокращённо TB, он же Jeopardy) — самый распространённый формат соревнований по информационной безопасности. Участникам выдают набор независимых заданий по категориям, к каждому нужно найти флаг и отправить его на платформу. Здесь не нужно поднимать инфраструктуру и не нужно одновременно атаковать и защищаться: есть доска заданий, таймер и проверяющая система.

Эта статья объясняет, как устроен формат: что такое таск и флаг, какие бывают категории заданий, как начисляются очки, как проходит сдача флага и что происходит после финиша.

Что такое Task-Based

Task-Based — формат CTF, в котором участникам выдаётся набор независимых заданий («тасков») по разным категориям. К каждому заданию нужно найти ответ — флаг — и отправить его на платформу. За верный флаг начисляются очки; чем сложнее задание, тем дороже оно стоит. Итог определяется суммой очков за отведённое время.

Ключевое слово — независимых. Задания не связаны между собой, их решают в любом порядке, а участники не мешают друг другу: соревнование идёт с таблицей результатов, а не напрямую с соперником. Никто не может «сломать» чужую работу, отключить участника или помешать ему решать — это принципиально снижает порог входа.

Формат задания ограничен только замыслом организаторов. Таском может быть:

  • ссылка на веб-сайт, который нужно исследовать;
  • скачиваемый файл — картинка, аудио, архив, дамп трафика, исполняемый файл;
  • адрес и порт сетевого сервиса, к которому нужно подключиться;
  • строка зашифрованного текста;
  • образ виртуальной машины;
  • текст загадки, ссылка на профиль в соцсети или фотография.

Аналогия на пальцах: Task-Based — это олимпиада. Всем выдан одинаковый набор задач, все решают параллельно, выше в таблице тот, кто решил больше и быстрее. Attack-Defense в этой аналогии — уже не олимпиада, а спарринг.

Почему формат называют Jeopardy

«Jeopardy» — отсылка к телевикторине, российский аналог которой известен как «Своя игра». Логика та же: на экране доска, по горизонтали — категории, по вертикали — стоимость вопросов. Выбираешь категорию и цену, отвечаешь, получаешь очки.

WEB

✓ решено

250

открыт

400

открыт

CRYPTO

✓ решено

200

открыт

500

открыт

REVERSE

150

открыт

300

открыт

450

открыт

PWN

200

открыт

350

открыт

500

открыт

Карточка = одно задание. Столбец = категория, число = стоимость в очках. Решённые задания отмечены и больше не приносят очков той же команде.

Доска Task-Based: столбцы — категории, числа — стоимость заданий в очках

Названия TB, Task-Based, Jeopardy и «тасковый CTF» обозначают один и тот же формат. В анонсах чаще всего пишут «Task-Based» или «Jeopardy».

Task-Based и Attack-Defense: в чём разница

КритерийTask-BasedAttack-Defense
СутьРешение независимых заданийАтака чужих сервисов и защита своих
Взаимодействие участниковОтсутствует, каждый сам по себеПрямое: сервисы соперников атакуют
ФлагиОдин флаг за задание, сдаётся один разОбновляются каждый раунд
Инфраструктура участникаНе нужнаУязвимый сервер, ферма, запись трафика
АвтоматизацияПочти не нужнаОбязательна
Формат времениФиксированное окно, часто 8–48 часовНепрерывная игра из раундов
Игра в одиночкуВполне возможнаТехнически возможна, практически тяжела
Что развиваетГлубину по категориям, насмотренностьСкорость, командную работу, инфраструктуру, защиту

Подробный разбор второго формата — в статье CTF Attack-Defense: что это такое и как в него играют.

Как устроено соревнование

Платформа и скорборд

Соревнование проводится на платформе — сайте, куда участник заходит под своей учётной записью. Платформа берёт на себя выдачу заданий, приём флагов и подсчёт очков. На платформе видны:

  • доска заданий — карточки, сгруппированные по категориям, с указанием сложности и стоимости;
  • поле ввода флага — куда вставляется найденная строка;
  • скорборд — публичная таблица результатов в реальном времени;
  • раздел с правилами и объявлениями;
  • иногда — подсказки (hints), обычно со штрафом в очках.

Связь с организаторами почти всегда идёт через отдельный чат соревнования: туда пишут об исправлениях в заданиях, падениях сервисов и уточнениях условий.

Таск

Таск (task, «челлендж», «задание») — единица игры. У таска есть:

  • категория — web, crypto, pwn и другие;
  • название — часто содержит подсказку к технике решения;
  • описание — условие, иногда с намёком, иногда с формальным «удачи»;
  • вложения — файлы для скачивания и/или ссылка на сервис;
  • стоимость в очках;
  • счётчик решений — сколько участников уже сдали это задание.
web

Sneaky Metadata

Автор выложил фотографию и уверяет, что ничего лишнего в ней не осталось.

photo.jpg nc host 31337
HACKRUS{…}
  1. 1 Категория Группирует задания по типу навыка: web, crypto, reverse, pwn и т. д.
  2. 2 Название Часто содержит намёк на технику решения.
  3. 3 Описание Условие задания: сюжет, уточнения, иногда прямая подсказка.
  4. 4 Вложения Файлы для скачивания и/или адрес сетевого сервиса.
  5. 5 Поле сдачи флага Ответ проверяется мгновенно; частота попыток ограничена.
Устройство карточки задания на платформе

Счётчик решений — самый честный индикатор реальной сложности: если задание решили две сотни участников, оно посильное.

Флаг и формат флага

Организаторы почти всегда объявляют формат флага в правилах — например, HACKRUS{...}. Это важно по двум причинам. Во-первых, понятно, что искать: увидев в дампе или в исходниках строку в фигурных скобках с известным префиксом, участник сразу понимает, что нашёл искомое. Во-вторых, по префиксу флаг можно искать автоматически — например, поиском по строкам в файле.

Иногда флаг — это не строка формата, а произвольный ответ: имя автора, название города, найденное значение. Такие случаи организаторы оговаривают в условии задания.

Сдача флага

Найденный флаг вставляют в поле на платформе и отправляют. Система мгновенно отвечает, верно или нет. При верном ответе задание помечается решённым, очки начисляются, счётчик решений увеличивается.

Нюансы сдачи:

  • флаг чувствителен к регистру и пробелам — лишний символ при копировании даёт ошибку;
  • число попыток обычно ограничено ограничением частоты (rate limit), а иногда и жёстким лимитом на задание — это защита от подбора;
  • задание сдаётся один раз — в отличие от Attack-Defense, флаги здесь не обновляются.

Время и заморозка скорборда

Продолжительность Task-Based сильно варьируется:

  • 4–12 часов — короткие тренировочные и студенческие соревнования, онлайн-этапы;
  • 24–48 часов — стандарт для крупных международных турниров.

Ближе к финалу организаторы часто делают фриз (заморозку) скорборда: за час-два до конца таблица перестаёт обновляться публично. Очки продолжают начисляться, но прогресс скрыт от всех до объявления итогов — это сохраняет интригу и не даёт подстраивать тактику под чужие результаты.

Категории заданий

Категории — скелет любого Task-Based соревнования. Ниже те, что встречаются чаще всего.

Web Уязвимости веб-приложений: инъекции, обход авторизации, доступ к чужим объектам, загрузка файлов.
Crypto Шифры, хеши и протоколы с ошибками реализации — от классических подстановок до атак на RSA.
Reverse Анализ скомпилированных программ без исходников: как устроена проверка ввода и что она ждёт.
PWN Эксплуатация бинарных программ: переполнение буфера, форматные строки, ошибки работы с памятью.
Forensics Расследование: дампы трафика и памяти, образы дисков, логи, восстановление удалённых файлов.
Stegano Данные, спрятанные внутри других данных: в пикселях, в спектрограмме звука, в структуре файла.
OSINT Разведка по открытым источникам: место, человек или событие восстанавливаются по общедоступным данным.
PPC Спортивное программирование: задача, которую невозможно решить руками за отведённое время.
Admin Системное администрирование: настройка сервисов, разбор конфигураций, восстановление системы.
Misc / Joy Всё, что не попало в другие категории: логические загадки, мини-игры, нестандартные задания.
Категории заданий Task-Based

Web — уязвимости веб-приложений. Даётся ссылка на сайт, внутри которого спрятан флаг. Типичные сюжеты: SQL-инъекция в форме авторизации, обход аутентификации, IDOR (доступ к чужим объектам по подмене идентификатора), XSS, SSRF, загрузка произвольных файлов, ошибки логики. Обычно требуется понимание HTTP, HTML и работы браузера, умение читать исходный код страницы и перехватывать запросы.

Crypto — криптография: шифры, хеши, некорректно реализованные протоколы. От классических подстановочных шифров и кодировок до атак на RSA с плохо подобранными параметрами. Обычно требуется базовая математика и скрипты для преобразований.

Reverse (реверс-инжиниринг) — исследование скомпилированных программ без исходного кода. Даётся исполняемый файл, который, например, просит пароль; нужно разобраться, как он проверяет ввод, и восстановить правильный ответ. Обычно требуются дизассемблеры и декомпиляторы.

PWN (binary exploitation) — эксплуатация уязвимостей в бинарных программах: переполнение буфера, форматные строки, use-after-free. Обычно даётся сетевой сервис и его бинарник, а задача — заставить программу выполнить нужные действия и прочитать флаг с сервера. Требуются знание C и ассемблера, понимание работы памяти и стека.

Forensics (форензика) — цифровая криминалистика: анализ дампов трафика, образов дисков, дампов памяти, логов, восстановление удалённых файлов, разбор метаданных.

Stegano (стеганография) — поиск информации, спрятанной внутри других данных: флаг в младших битах пикселей картинки, в спектрограмме аудиофайла, в невидимых символах текста, в дописанном к изображению архиве.

OSINT — разведка по открытым источникам. Даётся фотография, ник, фрагмент вывески — нужно восстановить место, человека или событие по общедоступным данным: картам, соцсетям, архивам, метаданным.

PPC (Professional Programming and Coding) — спортивное программирование внутри CTF: задача, которую невозможно решить руками за отведённое время. Например, сервис задаёт тысячу вопросов подряд с таймаутом в секунду — нужен скрипт-автомат.

Admin / Sysadmin — системное администрирование: настройка сервисов, восстановление сломанной системы, работа с виртуальными машинами, разбор конфигураций.

Misc / Joy — всё, что не вошло в остальные категории: логические загадки, мини-игры, задания на нестандартное мышление, развлекательные активности организаторов.

Разделение условное: организаторы вольны придумывать собственные категории и объединять их.

Как начисляются очки

Статический скоринг

Самая простая схема: у каждого задания фиксированная цена, объявленная заранее. Easy — 50 очков, medium — 200, hard — 500. Решил — получил ровно столько.

Плюс — прозрачность. Минус — организатор угадывает сложность заранее, а угадывает далеко не всегда: задание, которое автор считал сложным, может оказаться пятиминутным, и наоборот.

Динамический скоринг

Современный стандарт формата. Идея: реальную сложность задания определяют сами участники. Чем больше решивших, тем дешевле становится задание — и не только для новых решивших, а для всех сразу, включая тех, кто сдал его первым.

В распространённой реализации у задания три параметра: initial — стартовая стоимость, minimum — минимальная стоимость, ниже которой цена не падает, и decay — параметр скорости падения. Стоимость считается по формуле:

code$ _
value = ((minimum − initial) / decay²) × solves² + initial

Результат округляется вверх, а если он опускается ниже minimum, берётся minimum. Парабола выбрана намеренно, а не экспонента: дорогие задания должны терять в цене медленно на первых решениях и быстро — когда их начинают решать массово.

500 400 300 200 100 0 10 20 30 40 50 60 минимальная стоимость — 100 никто не решил — 500 30 решений — 356 число решивших участников стоимость, очки

Цена пересчитывается для всех сразу, включая тех, кто сдал задание первым.

Как падает стоимость задания при initial = 500, minimum = 100 и decay = 50

Те же значения в виде таблицы:

Решило участниковСтоимость задания
0500
5496
10484
20436
30356
40244
50 и больше100

Практическое следствие: раннее решение сложного задания стоит дороже, чем позднее решение того же задания, — к концу игры оно подешевеет для всех.

First blood

На многих соревнованиях первые решившие задание получают отметку. Первое, второе и третье решения традиционно называют first blood, second blood и third blood. Иногда это выражается в дополнительных очках, иногда — только в строчке на скорборде.

Подсказки

Организаторы часто прикладывают к заданиям подсказки — обычно со штрафом в очках: открыл подсказку — потерял часть стоимости задания. Логика простая: подсказки страхуют от ситуации, когда задание оказалось слишком сложным и его не решил вообще никто, но бесплатными их делать нечестно по отношению к тем, кто справился сам.

Как определяется место

Итог — сумма очков за все решённые задания. При равенстве очков почти всегда действует тайбрейк по времени: выше тот, кто набрал свой результат раньше. Поэтому время сдачи влияет на место так же, как и сумма.

Как проходит игра

До старта

Регистрация на крупных соревнованиях открывается за дни или недели. Участники создают или находят команду — лимит по составу (часто 3–10 человек) указан в правилах, — читают правила целиком (формат флага, лимиты на сдачу, что запрещено, как связаться с организаторами), готовят рабочее окружение и подключаются к чату соревнования, куда идут объявления об исправлениях заданий.

Разведка по доске

Первые минуты после старта уходят на просмотр: участники открывают все задания, читают условия, скачивают вложения. Ориентиры для выбора — счётчик решений (сколько уже сдали), категория и название задания, которое часто прямо намекает на технику.

Решение задания

Выбор таска Разбор условия и вложений Гипотеза и её проверка Флаг найден Отправка флага верно Очки на скорборде флаг не принят — попытка снова
Путь одного задания: от карточки на доске до очков на скорборде

Универсальный ход работы, общий почти для любой категории:

  1. Разбор условия и названия. В CTF нет случайных слов: имя задания, имя файла, адрес сервиса — всё это может быть частью подсказки.
  2. «Дешёвые» проверки. Для файла — определение типа, извлечение строк и метаданных, поиск вложенных файлов. Для сайта — исходный код страницы, служебные файлы, заголовки ответов. Для шифротекста — типовые преобразования и кодировки.
  3. Гипотеза и её проверка. «Похоже на SQL-инъекцию», «похоже на шифр подстановки» — предположение проверяется инструментами категории.
  4. Проверка формата. Найденная строка сверяется с объявленным форматом флага: если совпадает не полностью, найдена только часть.
  5. Сдача флага. Флаг отправляется на платформу, при верном ответе начисляются очки.

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

После финиша

Игра не заканчивается финальным свистком. Многие площадки оставляют задания доступными для дорешивания — решения уже без очков, ради разбора. В течение нескольких дней после турнира участники публикуют write-up — разборы решений.

Правила и античит

Правила отличаются от соревнования к соревнованию, но набор запретов практически универсален:

  • не атаковать саму платформу и инфраструктуру соревнования — сканирование, отказ в обслуживании, попытки взломать скорборд ведут к дисквалификации; ломать можно только то, что явно обозначено как задание;
  • не атаковать других участников — это не Attack-Defense, чужие машины не цель;
  • не делиться флагами — главный вид читерства в формате; платформы умеют выдавать персональные флаги (у разных участников разные строки за одно задание), а массовая синхронная сдача одного значения видна в логах;
  • не подбирать флаг перебором — ограничение частоты сдачи стоит почти везде;
  • не брутфорсить сервисы задания без явного разрешения — многие условия прямо содержат пометку «брутфорс не требуется»: задумано интеллектуальное решение, а перебор кладёт сервис для всех;
  • не публиковать решения до конца соревнования — write-up выкладывают после финиша;
  • не использовать чужие учётные записи и не играть за две команды одновременно.

Отдельно про юридическую сторону: всё, что происходит внутри соревнования, легально. Участники работают с системами, которые организаторы подготовили и разрешили исследовать. Те же действия против чужих систем без разрешения — правонарушение. Граница проходит по разрешению, а не по технике.

Работа в команде

Обязательных инфраструктурных ролей, как в Attack-Defense, в этом формате нет, поэтому состав строится вокруг категорий:

  • координатор — следит за доской и скорбордом, распределяет задания, не даёт двум участникам параллельно решать одно и то же;
  • специалисты по категориям — веб, криптография, реверс, форензика;
  • универсал — разбирает misc, OSINT и лёгкие задания по всем категориям.

На практике команде нужны три вещи: общий канал связи, единый список статусов заданий («задание — кто взял — состояние») и договорённость о том, кто сдаёт флаги. Играть в Task-Based в одиночку тоже нормально — просто охват категорий будет уже.

Инструменты

ЗадачаИнструменты
Общая работаLinux (в виртуальной машине), терминал, git
Скрипты и автоматизацияPython, requests, pwntools
WebBurp Suite, curl, инструменты разработчика в браузере, sqlmap
CryptoCyberChef, pycryptodome, hashcat, John the Ripper
ReverseGhidra, IDA, Binary Ninja, radare2
PWNpwntools, GDB, checksec
ForensicsWireshark, binwalk, exiftool, foremost, Volatility
Steganosteghide, zsteg, stegsolve, Audacity
OSINTобратный поиск по изображению, картографические сервисы, архивы страниц
Быстрые проверкиfile, strings, grep, xxd, base64

Write-up

Write-up — опубликованный разбор решения задания: что было дано, какие гипотезы проверялись, что сработало, как получился флаг. Это сложившийся жанр внутри сообщества: по чужим разборам изучают техники, которые не удалось применить самому, а собственные публикации показывают ход мысли — их читают в том числе при найме в информационную безопасность.

Минимальная структура разбора: условие задания → первые наблюдения → ключевая догадка → шаги решения с командами и кодом → флаг → короткий вывод о том, чему задание учит. Публикуют write-up после окончания соревнования: до финиша это спойлер для остальных участников.

Рейтинг

У результатов Task-Based есть накопительный смысл: команды попадают в рейтинг — сводные таблицы, которые агрегируют выступления за сезон. Очки за конкретное соревнование зависят не только от занятого места, но и от веса самого события, числа участников с ненулевым результатом и результата победителя: чем выше место, чем ближе счёт к счёту победителя и чем весомее турнир, тем больше рейтинговых очков.

Вес события определяется голосованием сообщества или администрацией площадки, а в годовой зачёт обычно идут не все выступления подряд, а ограниченное число лучших результатов.

Словарь

  • CTF (Capture The Flag) — соревнования по информационной безопасности, где очки даются за найденные флаги.
  • Task-Based (TB) / Jeopardy — формат CTF с набором независимых заданий по категориям.
  • Attack-Defense (AD) — формат, где участники атакуют сервисы соперников и защищают свои.
  • Mixed — смешанный формат, сочетающий Task-Based и Attack-Defense.
  • Таск (task, челлендж) — отдельное задание на доске.
  • Флаг (flag) — строка заданного формата, доказывающая решение задания.
  • Формат флага — шаблон, объявленный организаторами, например HACKRUS{...}.
  • Сабмит (submit) — отправка флага на платформу.
  • Скорборд (scoreboard) — публичная таблица результатов.
  • Фриз (freeze) — заморозка скорборда перед финишем.
  • Статический скоринг — фиксированная стоимость задания.
  • Динамический скоринг — стоимость задания падает по мере роста числа решений.
  • Solves — счётчик участников, решивших задание.
  • First blood — первое решение задания; вторые и третьи — second и third blood.
  • Hint (подсказка) — подсказка от организаторов, обычно со штрафом в очках.
  • Rate limit — ограничение частоты попыток сдачи флага, защита от перебора.
  • Персональные флаги — механика, при которой у каждого участника свой флаг для одного задания; античит против обмена флагами.
  • Unintended solution — решение задания не тем способом, который задумывал автор.
  • Write-up — публичный разбор решения задания.
  • Дорешивание — решение заданий после окончания соревнования, без очков.
  • Категории — web, crypto, reverse, pwn, forensics, stegano, OSINT, PPC, admin, misc/joy.

Частые вопросы

Что означает TB в названии CTF? TB — сокращение от Task-Based, «задачный» формат, он же Jeopardy. Это одно и то же: набор независимых заданий по категориям, за решение которых начисляются очки.

Чем Task-Based отличается от Attack-Defense? В Task-Based решаются независимые задания без взаимодействия с другими участниками. В Attack-Defense все находятся в общей сети, атакуют сервисы друг друга и защищают свои, а флаги обновляются каждый раунд.

Нужно ли уметь программировать? Для части категорий — нет: в OSINT, стеганографии, лёгкой криптографии и форензике флаги берут без единой строчки кода. Но PWN, PPC и значительная часть криптографии без скриптов закрыты.

Можно ли участвовать в одиночку? Да, в отличие от Attack-Defense формат это допускает: многие соревнования разрешают команды из одного человека. С командой шире охват категорий.

Сколько длится соревнование? От нескольких часов до двух суток. Тренировочные и студенческие соревнования обычно укладываются в 4–12 часов, крупные международные турниры идут 24–48 часов.

Почему стоимость задания уменьшается прямо во время игры? Это динамический скоринг: чем больше решивших, тем задание объективно проще, и цена падает — для всех, включая тех, кто решил первым.

Что делать, если флаг не принимается, хотя он кажется верным? Проверить регистр, лишние пробелы в начале и конце, полноту строки и соответствие объявленному формату. Если всё сходится, вопрос адресуют организаторам в чат соревнования.

Можно ли искать решения в интернете во время соревнования? Искать техники, инструменты и теорию — норма и часть навыка. Нельзя искать готовые решения текущих заданий и обмениваться флагами с другими участниками.

Законно ли это? Да. Это контролируемая среда, созданная организаторами для обучения. Исследовать разрешено только те системы, которые обозначены как задания.

Читайте также