Существует два варианта проведения соревнований:
- task-based (jeopardy) — игрокам предоставляется набор заданий (тасков), к которым требуется найти ответ и отправить его. Ответом является флаг — набор символов или произвольная фраза. Каждое задание оценивается различным количеством очков, в зависимости от сложности. Обычно выделяются следующие категории:
- admin — задачи на администрирование
- joy — различные развлекательные задачи вроде коллективной фотографии или мини-игры
- ctb — задачи на аудит удалённых машин (crack the box)
- reverse — исследование программ без исходного кода (реверс-инжиниринг)
- stegano — стеганография
- ppc — задачи на программирование (professional programming and coding)
- crypto — криптография
- web — задачи на веб-уязвимости, такие как SQL injection, XSS и другие
- classic — В классической схеме каждая команда получает выделенный сервер или небольшую сеть для поддержания её функционирования и защиты. Во время игры команды получают очки за корректную работу сервисов своего сервера и за украденную информацию (флаги) с серверов противников. Обычно после окончания соревнований команды-участники публикуют свои решения у себя на сайтах, так что всегда можно ознакомиться с решением интересующей задачи.