Кубок CTF России

Школьный финал Кубка CTF 2025: сервис AWS Sigma

Организаторы выложили сервисы школьного финала CTFCUP 2025 — aws_sigma, grob и sonobank — вместе с чекерами, эксплойтами и описаниями. Разберём первый.

Что за сервис

AWS Sigma — сервис бессерверных функций, похожий на AWS Lambda. Пользователь пишет на JavaScript обработчик HTTP-запросов, а сервис выполняет его на сервере. Функции умеют работать с диском и базой данных. Бэкенд — TypeScript и NestJS с MongoDB, среда выполнения — Rust и Boa с PostgreSQL, панель — React.

Уязвимости по описанию авторов

  • Чтение произвольных файлов через API файловой системы для функций — так достаётся секрет JWT из /etc/sigma/jwt.secret
  • Слабая проверка доступа к базе данных из функций — видны данные других проектов
  • NoSQL-инъекция в обработчике GET /api/v1/projects
  • NoSQL-инъекция почти в любом обработчике — через подделку JWT
  • DoS by design при выполнении функций. Для быстрого закрытия в среде выполнения предусмотрены опции

Что взять в подготовку

Уязвимости сервиса связаны: одна выдаёт секрет, с ним открывается следующая. Поэтому цепочку стоит разбирать целиком, а заплатки проверять так, чтобы сервис по-прежнему проходил чекер.

Важно. По положению X Кубка школьный и СПО зачёты играют 4 декабря с 10:00 до 19:00 по Москве, этап 2.5 — attack-defense. Прошлогодние сервисы удобно разобрать заранее, на учебной игре.

Чек-лист

  • ☐ Скачать репозиторий школьного финала 2025
  • ☐ Поднять сервис локально через docker-compose
  • ☐ Найти уязвимости самим, потом сверить с описанием
  • ☐ Прогнать эксплойты из sploits против своих заплаток
  • ☐ Проверить, что после заплаток сервис проходит чекер

План подготовки уже составлен

Открыть «План подготовки команды к CTF» →

Источники: репозиторий acisoru/ctfcup2025-school-final (README, services/aws_sigma/README.md); Положение о X Всероссийских соревнованиях «Кубок CTF России» (2026), разд. III п. 4, 5, разд. VI п. 1. Канал не принадлежит организаторам; официальный сайт — ctfcup.ru. Флаг в записи не приводится. Сверено 03.11.2026.

Первоисточник