2.8 KiB
Руна Предвидения
В Гильдии Магов появилась Руна Предвидения: она не творит заклинаний, а описывает путь. Страж Портала Локхолда знает запретные имена, но не знает истинных числовых титулов. Составьте свиток так, чтобы руны вытащили тайну изнутри цитадели и напечатали её в PDF.
Свиток валиден, когда рунический заголовок и гравюра идут парой. Есть 2 режима работы: meta и flag.
Формат:
[RUNE rid="..." mode="..." url="..."] 
Решение
Сначала изучаем страницу и связанные параметры. По cookie находим rune_rid, а из описания понимаем, что руна должна использовать этот идентификатор в заголовке. Прямой localhost блокируется, поэтому для SSRF используем числовую форму 127.0.0.1 - 2130706433.
Получение nonce
Для первого запроса используем mode="meta". Тогда сервис возвращает служебные данные, в которых печатается одноразовый nonce.
[RUNE rid="RID_ИЗ_COOKIE" mode="meta" url="http://2130706433/meta"]

После печати в PDF появится значение nonce.
Получение флага
Во втором свитке подставляем nonce из первого PDF и меняем режим на flag:
[RUNE rid="RID_ИЗ_COOKIE" mode="flag" url="http://2130706433/flag?nonce=NONCE_ИЗ_PDF"]

После печати второго свитка в PDF появляется флаг.
Не забываем учесть:
- Оракул отвечает только на навигацию документа, поэтому запрос через картинку не сработает:
. - Прямой
http://127.0.0.1/...блокируется стражем по подстроке. file:///flag.txtблокируется фильтром протокола.- Гравюра принимает только
/etchи строгие параметрыridиwhat. - Нельзя вставлять больше одной руны и одной гравюры в один свиток.
nonceодноразовый и живёт около 15 секунд.