Сердце Сысолы

Финальный этап · writeups

writeups: 27 categories: 7

[Оба этапа](../README.md) ## Задания
Crypto · 2 разбора | Сложность | Таск | Описание | |---|---|---| | ![easy](https://img.shields.io/badge/easy-brightgreen) | [NullRoute KEM](nullroute-kem-crypto-easy/WRITEUP.md) | Открываем отклонённую KEM-капсулу с общедоступным fallback-секретом. | | ![easy](https://img.shields.io/badge/easy-brightgreen) | [ScalarAlias](scalaralias-crypto-easy/WRITEUP.md) | Меняем скаляр подписи на эквивалентный и получаем ключ экспорта. |
Forensic · 2 разбора | Сложность | Таск | Описание | |---|---|---| | ![medium](https://img.shields.io/badge/medium-orange) | [Admission Drift](admission-drift-forensic-medium/WRITEUP.md) | Связываем прямой AdmissionReview, procfd и успешное чтение секрета. | | ![medium](https://img.shields.io/badge/medium-orange) | [Grant Residue](grant-residue-forensic-medium/WRITEUP.md) | Прослеживаем device code phishing от кода на станции до Graph-экспорта. |
PWN · 7 разборов | Сложность | Таск | Описание | |---|---|---| | ![medium](https://img.shields.io/badge/medium-orange) | [ProxyRewrite](proxyrewrite-pwn-medium/WRITEUP.md) | Длинной заменой URL переписываем маршрут и поле диагностики. | | ![easy](https://img.shields.io/badge/easy-brightgreen) | [PulseWidth](pulsewidth-pwn-easy/WRITEUP.md) | Обходим проверку длины через uint8_t и переписываем права сессии. | | ![medium](https://img.shields.io/badge/medium-orange) | [RailAnnot](railannot-pwn-medium/WRITEUP.md) | Переполняем refcount и подменяем аннотацию через use-after-free. | | ![hard](https://img.shields.io/badge/hard-critical) | [RawForge X3F](rawforge-x3f-pwn-hard/WRITEUP.md) | Переполняем произведение размеров RAW и затираем поля задания samples-данными. | | ![easy](https://img.shields.io/badge/easy-brightgreen) | [RegexScope](regexscope-pwn-easy/WRITEUP.md) | Восстанавливаем случайный токен побайтовым оракулом чтения за границей. | | ![easy](https://img.shields.io/badge/easy-brightgreen) | [SortKey Station](sortkey-station-pwn-easy/WRITEUP.md) | Знаковым смещением направляем проверку ключа на строку допуска в профиле. | | ![hard](https://img.shields.io/badge/hard-critical) | [ZCRX Broker](zcrx-broker-pwn-hard/WRITEUP.md) | Двойным возвратом блока перекрываем capability и меняем закодированный handler. |
Reverse · 5 разборов | Сложность | Таск | Описание | |---|---|---| | ![medium](https://img.shields.io/badge/medium-orange) | [Orchid Wallet](orchid-wallet-ios-reverse-medium/WRITEUP.md) | Связываем конфиг в Mach-O с ключом из provisioning profile. | | ![easy](https://img.shields.io/badge/easy-brightgreen) | [PYZ Sidecar](pyzsidecar-python-reverse-easy/WRITEUP.md) | Распаковываем боковой блок Python-байткода и собираем флаг. | | ![medium](https://img.shields.io/badge/medium-orange) | [Tollgate IIS](tollgate-iis-dotnet-reverse-medium/WRITEUP.md) | Расшифровываем таблицу маршрутов AES-ключом из IIS-модуля. | | ![medium](https://img.shields.io/badge/medium-orange) | [WasmCoat](wasmcoat-android-reverse-medium/WRITEUP.md) | Разбираем custom section wasm и снимаем XOR ключом из DEX. | | ![hard](https://img.shields.io/badge/hard-critical) | [Wheelhouse Beacon](wheelhouse-beacon-python-reverse-hard/WRITEUP.md) | По RECORD находим LZMA-стадию и извлекаем константы байткода. |
Stego · 4 разбора | Сложность | Таск | Описание | |---|---|---| | — | [В глазах всё написано](kot1/WRITEUP.md) | Читаем полубайты из перестановок пикселей в блоках 2 × 2. | | — | [Мы снова пришли к носу](kot5/WRITEUP.md) | Из PNG извлекаем PCAPNG и исполняем скрытую сцену, чтобы найти нос. | | — | [Он немного изменился](kot4/WRITEUP.md) | По встроенному оригиналу восстанавливаем сетку и читаем направления сдвигов. | | — | [У него есть прошлое](kot2/WRITEUP.md) | Восстанавливаем записку из CatFS по снимку и зафиксированным транзакциям. |
Web · 6 разборов | Сложность | Таск | Описание | |---|---|---| | ![hard](https://img.shields.io/badge/hard-critical) | [CaplagCombat](caplagcombat-web-hard/WRITEUP.md) | Получаем пять флагов через debug-пакет, тапы, гонку, SQLi и дубли полей доказательства. | | ![easy](https://img.shields.io/badge/easy-brightgreen) | [DiffLane](difflane-web-easy/WRITEUP.md) | Вставляем разрешающую директиву в PR body и открываем внутреннюю заметку. | | ![hard+](https://img.shields.io/badge/hard%2B-critical) | [DocMerge](task12_docmerge/WRITEUP.md) | Обходим AutoType-фильтр разрешённым reflection-плагином или наследником. | | ![hard](https://img.shields.io/badge/hard-critical) | [FlowBase](task11_flowbase/WRITEUP.md) | Через IDOR и открытый вебхук копируем флаг в статику аргументами curl. | | ![hard](https://img.shields.io/badge/hard-critical) | [GateKeeper](task13_gatekeeper/WRITEUP.md) | Получаем admin через смену пароля и выполняем root-команду через email. | | — | [MongoPages](mongo-pages/WRITEUP.md) | Импортируем файл с флагом через серверный JS и обходим фильтр конкатенацией. |
Minecraft · 1 разбор | Сложность | Таск | Описание | |---|---|---| | — | [SYKTYV/KAR](syktyvkar/WRITEUP.md) | Через обработчик JNDI-ссылок стенда загружаем Bukkit-плагин и читаем флаг. |
---

Caplag