102 lines
7.1 KiB
Markdown
102 lines
7.1 KiB
Markdown
<p align="center">
|
||
<img src="assets/banner.png" alt="Тайна третьей столицы" width="720"/>
|
||
</p>
|
||
|
||
<p align="center"><i>writeups · 12.04.2026</i></p>
|
||
|
||
<p align="center">
|
||
<img src="https://img.shields.io/badge/format-Jeopardy-success" alt="Format"/>
|
||
<img src="https://img.shields.io/badge/tasks-21-blue" alt="Tasks"/>
|
||
<img src="https://img.shields.io/badge/categories-7-orange" alt="Categories"/>
|
||
</p>
|
||
|
||
Райтапы на соревнования, прошёдшие **12 апреля 2026 года** в день Космонавтики. **Организатор** соревнований [Федерация спортивного программирования Республики Татарстан](https://fsprt.orgs.biz/) (ФСП РТ) при поддержке **платформы** [Caplag](https://caplag.ru/).
|
||
|
||
## Задания
|
||
|
||
У каждого задания отдельная папка с названием формате: `{category}-{name}/` с файлом `WRITEUP.md`. Сложность задания и баллы, по котормым он определяется, - динамические. Формат флагов - `caplag{...}`.
|
||
> При наличии вспомогательных скриптов (солверы, декодеры и т.п.) - они лежат в подпапке `solve/`.
|
||
|
||
<details>
|
||
<summary><b>Crypto</b> · 3 задачи</summary>
|
||
|
||
| Баллы | Таск | Описание |
|
||
|---:|---|---|
|
||
|  | [Кристалл](crypto-crystal/WRITEUP.md) | Восстанавливаем секрет самодельного постквантового протокола решёточной атакой. |
|
||
|  | [Elliptic Enigma](crypto-elliptic-enigma/WRITEUP.md) | Вычисляем приватный ключ ECDSA по подписям с укороченным случайным числом. |
|
||
|  | [Digital Fingerprint](crypto-digital-fingerprint/WRITEUP.md) | Ищем пару сообщений с одинаковым хешем и совпадающим байтом контрольной суммы. |
|
||
|
||
</details>
|
||
|
||
<details>
|
||
<summary><b>Forensic</b> · 2 задачи</summary>
|
||
|
||
| Баллы | Таск | Описание |
|
||
|---:|---|---|
|
||
|  | [Needle Harbor](forensic-needle-harbor-lab/WRITEUP.md) | Цепочка из шести тасков по слепку памяти Tails-сессии и образу флешки. |
|
||
|  | [Пропавший коллега](forensic-missing-colleague/WRITEUP.md) | Собираем флаг из четырёх частей в документах сотрудника. |
|
||
|
||
</details>
|
||
|
||
<details>
|
||
<summary><b>OSINT</b> · 4 задачи</summary>
|
||
|
||
| Баллы | Таск | Описание |
|
||
|---:|---|---|
|
||
|  | [Гора](osint-гора/WRITEUP.md) | Ищем дом в Казани по кадру из советского мультфильма. |
|
||
|  | [Mirror Trace](osint-mirror-trace/WRITEUP.md) | Собираем пароль из кластера доменов с общим сертификатом. |
|
||
|  | [Morning Line](osint-morning-line/WRITEUP.md) | По кадру улицы и времени съёмки определяем точные координаты. |
|
||
|  | [Red Wheelbarrow](osint-redwheelbarrow/WRITEUP.md) | Ищем VIN по кадру машины из фильма. |
|
||
|
||
</details>
|
||
|
||
<details>
|
||
<summary><b>PWN</b> · 3 задачи</summary>
|
||
|
||
| Баллы | Таск | Описание |
|
||
|---:|---|---|
|
||
|  | [Бортовой Журнал](pwn-бортовой-журнал/WRITEUP.md) | Переписываем таблицу функций сервиса адресом скрытой функции. |
|
||
|  | [Allocator War](pwn-allocator-war/WRITEUP.md) | Вытаскиваем флаг из буфера, застрявшего в самодельном кеш-аллокаторе. |
|
||
|  | [Навигация](pwn-навигация/WRITEUP.md) | Через утечку и переполнение подменяем указатель на адрес `win` функции. |
|
||
|
||
</details>
|
||
|
||
<details>
|
||
<summary><b>Reverse</b> · 4 задачи</summary>
|
||
|
||
| Баллы | Таск | Описание |
|
||
|---:|---|---|
|
||
|  | [Alpha Centauri](reverse-umbrella-os-lab/WRITEUP.md) | Цепочка из 7 тасков. |
|
||
|  | [Птица Говорун](reverse-ptitsa-govorun/WRITEUP.md) | Собираем ключ для расшифровки флага из параметров виртуальной машины. |
|
||
|  | [Ancient Processor](reverse-ancient-processor/WRITEUP.md) | Реверсим побайтовую проверку флага в эмуляторе с самоизменяющимся шифром. |
|
||
|  | [Dungeon Crawler](reverse-dungeon-crawler/WRITEUP.md) | Находим маршрут в единственном настоящем лабиринте среди четырёх. |
|
||
|
||
</details>
|
||
|
||
<details>
|
||
<summary><b>Stego</b> · 3 задачи</summary>
|
||
|
||
| Баллы | Таск | Описание |
|
||
|---:|---|---|
|
||
|  | [Художественная галерея](stego-art-gallery/WRITEUP.md) | Достаём настоящий QR с флагом из третьего скрытого слоя PSD. |
|
||
|  | [ChinaOwner](stego-china-owner/WRITEUP.md) | Читаем флаг в интервалах времени между сообщениями одного судна. |
|
||
|  | [Summer Vacations](stego-summer-vacations/WRITEUP.md) | Вытаскиваем флаг из альфа-канала картинки. |
|
||
|
||
</details>
|
||
|
||
<details>
|
||
<summary><b>Web</b> · 2 задачи</summary>
|
||
|
||
| Баллы | Таск | Описание |
|
||
|---:|---|---|
|
||
|  | [UmbrellaBioAccess](web-umbrella-bio-access/WRITEUP.md) | Через инъекцию в базу и дырявое восстановление привязываем свой ключ к директорскому аккаунту. |
|
||
|  | [GhostFrame](web-ghostframe/WRITEUP.md) | Реверсим нейросетевой классификатор и собираем картинку под его признаки. |
|
||
|
||
</details>
|
||
|
||
---
|
||
|
||
<p align="center">
|
||
<a href="https://caplag.ru/"><img src="assets/caplag-logo.svg" alt="Caplag" height="28"/></a>
|
||
</p>
|