Files
Tajna-tretej-stolicy/README.md
2026-04-22 10:58:32 +03:00

102 lines
7.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<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>
| Баллы | Таск | Описание |
|---:|---|---|
| ![988](https://img.shields.io/badge/988-critical) | [Кристалл](crypto-crystal/WRITEUP.md) | Восстанавливаем секрет самодельного постквантового протокола решёточной атакой. |
| ![852](https://img.shields.io/badge/852-orange) | [Elliptic Enigma](crypto-elliptic-enigma/WRITEUP.md) | Вычисляем приватный ключ ECDSA по подписям с укороченным случайным числом. |
| ![781](https://img.shields.io/badge/781-yellow) | [Digital Fingerprint](crypto-digital-fingerprint/WRITEUP.md) | Ищем пару сообщений с одинаковым хешем и совпадающим байтом контрольной суммы. |
</details>
<details>
<summary><b>Forensic</b> · 2 задачи</summary>
| Баллы | Таск | Описание |
|---:|---|---|
| ![Σ 5520](https://img.shields.io/badge/Σ_5520-orange) | [Needle Harbor](forensic-needle-harbor-lab/WRITEUP.md) | Цепочка из шести тасков по слепку памяти Tails-сессии и образу флешки. |
| ![916](https://img.shields.io/badge/916-orange) | [Пропавший коллега](forensic-missing-colleague/WRITEUP.md) | Собираем флаг из четырёх частей в документах сотрудника. |
</details>
<details>
<summary><b>OSINT</b> · 4 задачи</summary>
| Баллы | Таск | Описание |
|---:|---|---|
| ![975](https://img.shields.io/badge/975-critical) | [Гора](osint-гора/WRITEUP.md) | Ищем дом в Казани по кадру из советского мультфильма. |
| ![866](https://img.shields.io/badge/866-orange) | [Mirror Trace](osint-mirror-trace/WRITEUP.md) | Собираем пароль из кластера доменов с общим сертификатом. |
| ![655](https://img.shields.io/badge/655-yellowgreen) | [Morning Line](osint-morning-line/WRITEUP.md) | По кадру улицы и времени съёмки определяем точные координаты. |
| ![551](https://img.shields.io/badge/551-brightgreen) | [Red Wheelbarrow](osint-redwheelbarrow/WRITEUP.md) | Ищем VIN по кадру машины из фильма. |
</details>
<details>
<summary><b>PWN</b> · 3 задачи</summary>
| Баллы | Таск | Описание |
|---:|---|---|
| ![1000](https://img.shields.io/badge/1000-critical) | [Бортовой Журнал](pwn-бортовой-журнал/WRITEUP.md) | Переписываем таблицу функций сервиса адресом скрытой функции. |
| ![996](https://img.shields.io/badge/996-critical) | [Allocator War](pwn-allocator-war/WRITEUP.md) | Вытаскиваем флаг из буфера, застрявшего в самодельном кеш-аллокаторе. |
| ![946](https://img.shields.io/badge/946-orange) | [Навигация](pwn-навигация/WRITEUP.md) | Через утечку и переполнение подменяем указатель на адрес `win` функции. |
</details>
<details>
<summary><b>Reverse</b> · 4 задачи</summary>
| Баллы | Таск | Описание |
|---:|---|---|
| ![Σ 6991](https://img.shields.io/badge/Σ_6991-critical) | [Alpha Centauri](reverse-umbrella-os-lab/WRITEUP.md) | Цепочка из 7 тасков. |
| ![1000](https://img.shields.io/badge/1000-critical) | [Птица Говорун](reverse-ptitsa-govorun/WRITEUP.md) | Собираем ключ для расшифровки флага из параметров виртуальной машины. |
| ![912](https://img.shields.io/badge/912-orange) | [Ancient Processor](reverse-ancient-processor/WRITEUP.md) | Реверсим побайтовую проверку флага в эмуляторе с самоизменяющимся шифром. |
| ![888](https://img.shields.io/badge/888-orange) | [Dungeon Crawler](reverse-dungeon-crawler/WRITEUP.md) | Находим маршрут в единственном настоящем лабиринте среди четырёх. |
</details>
<details>
<summary><b>Stego</b> · 3 задачи</summary>
| Баллы | Таск | Описание |
|---:|---|---|
| ![979](https://img.shields.io/badge/979-critical) | [Художественная галерея](stego-art-gallery/WRITEUP.md) | Достаём настоящий QR с флагом из третьего скрытого слоя PSD. |
| ![960](https://img.shields.io/badge/960-critical) | [ChinaOwner](stego-china-owner/WRITEUP.md) | Читаем флаг в интервалах времени между сообщениями одного судна. |
| ![799](https://img.shields.io/badge/799-yellow) | [Summer Vacations](stego-summer-vacations/WRITEUP.md) | Вытаскиваем флаг из альфа-канала картинки. |
</details>
<details>
<summary><b>Web</b> · 2 задачи</summary>
| Баллы | Таск | Описание |
|---:|---|---|
| ![979](https://img.shields.io/badge/979-critical) | [UmbrellaBioAccess](web-umbrella-bio-access/WRITEUP.md) | Через инъекцию в базу и дырявое восстановление привязываем свой ключ к директорскому аккаунту. |
| ![804](https://img.shields.io/badge/804-yellow) | [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>