# Руна Предвидения В Гильдии Магов появилась Руна Предвидения: она не творит заклинаний, а описывает путь. Страж Портала Локхолда знает запретные имена, но не знает истинных числовых титулов. Составьте свиток так, чтобы руны вытащили тайну изнутри цитадели и напечатали её в PDF. Свиток валиден, когда рунический заголовок и гравюра идут парой. Есть 2 режима работы: `meta` и `flag`. Формат: `[RUNE rid="..." mode="..." url="..."] ![](/etch?rid=...&what=...)` ## Решение Сначала изучаем страницу и связанные параметры. По *cookie* находим `rune_rid`, а из описания понимаем, что руна должна использовать этот идентификатор в заголовке. Прямой `localhost` блокируется, поэтому для **SSRF** используем числовую форму `127.0.0.1` - `2130706433`. ### Получение `nonce` Для первого запроса используем `mode="meta"`. Тогда сервис возвращает служебные данные, в которых печатается одноразовый `nonce`. ``` [RUNE rid="RID_ИЗ_COOKIE" mode="meta" url="http://2130706433/meta"] ![](/etch?rid=RID_ИЗ_COOKIE&what=meta) ``` После печати в PDF появится значение `nonce`. ### Получение флага Во втором свитке подставляем `nonce` из первого PDF и меняем режим на `flag`: ``` [RUNE rid="RID_ИЗ_COOKIE" mode="flag" url="http://2130706433/flag?nonce=NONCE_ИЗ_PDF"] ![](/etch?rid=RID_ИЗ_COOKIE&what=flag) ``` После печати второго свитка в PDF появляется флаг. ### Не забываем учесть: - Оракул отвечает только на навигацию документа, поэтому запрос через картинку не сработает: `![](/oracle?rid=x&mode=meta&u=http://2130706433/meta)`. - Прямой `http://127.0.0.1/...` блокируется стражем по подстроке. - `file:///flag.txt` блокируется фильтром протокола. - Гравюра принимает только `/etch` и строгие параметры `rid` и `what`. - Нельзя вставлять больше одной руны и одной гравюры в один свиток. - `nonce` одноразовый и живёт около 15 секунд.