Перейти к содержимому
← Каталог python Deserialization

Insecure Deserialization: Pickle RCE

mediumpythonPro
Задача
# Небезопасная десериализация: RCE через cookie ## Сценарий Перед вами Flask-приложение интернет-магазина SecureShop. Помимо стандартного функционала, приложение хранит пользовательские UI-настройки (тему оформления, язык интерфейса) на стороне клиента — в cookie. Это удобно: настройки переживают логаут и доступны на всех устройствах. При анализе вы заметили, что значение настроечного cookie выглядит как закодированные бинарные данные. Внимательное чтение даёт серьёзный повод задуматься: используемый формат сериализации — **не «формат данных», а полноценный байт-код**, способный при разборе выполнять произвольные действия. Это выводит уязвимость из «утечка настроек» в **Remote Code Execution на стороне сервера**. ## Цели 1. Авторизуйтесь как `demo` / `demo`. 2. Найдите в приложении функционал, в котором сервер принимает на вход сериализованный объект, и определите формат сериализации. 3. Сформируйте вредоносный объект, который при разборе на сервере выполнит произвольный Python-код. 4. С помощью полученного RCE прочитайте секрет, в котором лежит CTF-флаг. ## Данные | Параметр | Значение | |----------|----------| | Пользователь | `demo` / `demo` |
🚧 Сайт в разработке. Полный функционал пока недоступен. Все вопросы — support@hackandfix.ru