Skip to content

Latest commit

 

History

History
48 lines (28 loc) · 2.16 KB

README.md

File metadata and controls

48 lines (28 loc) · 2.16 KB

Web | hard? | PDF me

Информация

Для создания первоклассных фото-обоев в нашем городе сделали сервис, который позволяет печатать сайты как pdf.

Даже защиту от хакеров поставили.

Деплой

Нужен deploy на команду (внутри возможно взять чужой эксплойт).

cd deploy
docker-compose up --build -d

Выдать участинкам

Архив из директории public/ и IP:PORT сервера

Описание

Сервис представляет из себя простой PDF-er веб-страниц с помощью google chrome.

Внутри есть большое количество защит от SSRF (редиректы, dns, протокол).

Задача - прочитать файл /etc/flag .

Решение

Основная суть решения - получение доступа к chrome-devtools-protocol через SSRF. Доступ к CDP позволяет открывать новые вкладки, в том числе с нужным нам файлом.

Авторское решение:

  1. Обойти проверку на SSRF используя 8-ричную форму IP, тем самым сделать запрос на CDP и открыть вкладку с file:///etc/flag. (localhost:9222/json/new?file:///etc/flag).
  2. Используя любой внешний ресурс (свой сервер), сделать HTML с кастомным JS, на котором делать запросы на локальный ws:// (так можно и для открытой вкладки выполнить код).

Эксплоит

Альтернативное решение

Использовать iframe или редирект внутри своей JS страницы, чтобы попасть на http-endpoint CDP, например localhost:9222/json/new?file:///etc/flag.

Далее см пункт 2 выше.

Флаг

CUP{cb6bd56d429480027997e151041a0a81}