Pickle: удобство, которое может стоить вам сервера

  • Автор темы Автор темы ADMIN
  • Дата начала Дата начала

ADMIN

Administrator
ADMIN
Регистрация
18 Окт 1989
Сообщения
1,408
Реакции
93
Баллы
48
☑ ДЕПОЗИТ
0$
photo_2026-07-11_18-08-31.jpg

Каждый питон-разработчик хоть раз кидал объект в pickle.dumps() — две строчки, и готово. Но pickle восстанавливает не данные, а целые объекты, послушно выполняя всё, что нужно для сборки. И если данные пришли снаружи и попали в pickle.loads() без проверки, злоумышленник дописывает вызов системной функции, а сервер сам выполняет его команды. Base64 тут не спасает, ведь это не шифрование, а обёртка над тем же опасным потоком.

В новой статье разбираем, почему __reduce__ превращает удобную сериализацию в готовый RCE, по каким признакам пентестер вычисляет проблему и почему фильтрация символов почти не работает. А ещё про то, как безопасный внутренний сервис однажды тихо начинает принимать пользовательские данные, и так рождается классическая уязвимость.

Проверить всё руками можно на задаче «Элитный сомелье» из бесплатного курса «Профессия Белый Хакер». По легенде ваш знакомый Володя запустил сайтик про вино, увлёкся «нотками дуба» и забыл про безопасность. Сайт крутит pickle, а ваше дело найти, где сломана граница доверия, добиться выполнения команд и забрать флаг из корня.
 
Защита от мошенничества: Использование посредника минимизирует риски столкнуться с «продавцами-однодневками» или недобросовестными заказчиками, которые исчезают после получения предоплаты или результата работы.
Назад
Сверху