Небезопасная десериализация: объяснение — как измененный cookie-файл становится оболочкой | Веб-п...
Ashketchum Security
0:00 / 0:00
Небезопасная десериализация: объяснение — как измененный cookie-файл становится оболочкой | Веб-п...
22 просмотра · 2 недели назад
Ashketchum Security
1,75 тыс. подписчиков
22 просмотра · 2 недели назад
Приложение выдаёт вам cookie-файл. Расшифруйте его, и внутри окажется сериализованный объект — собственные данные приложения, зафиксированные в виде строки. Измените его и верните обратно, и во многих языках программирования вы не просто редактируете данные — процесс восстановления объекта запускает код на сервере. Это небезопасная десериализация, и в 33-м эпизоде мы рассмотрим поддельный cookie-файл вплоть до удалённого выполнения кода в авторизованной лаборатории.
Вы узнаете, как распознавать сериализованные данные (читаемый O: в PHP, префикс rO0 в Java, Python pickle, .NET, Ruby, Node), внедрение объектов в PHP и магические методы (__wakeup / __destruct), которые делают простое создание объекта опасным, цепочки POP/гаджетов, которые превращают собственные классы приложения в оружие, десериализацию PHAR, которая вообще не требует вызова unserialize(), почему Python pickle по своей природе является уязвимостью для удаленного выполнения, цепочки гаджетов Java с ysoserial, phpggc для PHP — и единственный способ защиты, который всё это блокирует.
Всё демонстрируется на специально уязвимых лабораторных объектах, которые находятся в моей собственности. Это для этичных хакеров, охотников за багами и защитников. Находите, понимайте, сообщайте — никогда не тестируйте системы, на тестирование которых у вас нет разрешения.
⏱️ РАЗДЕЛЫ
0:00 Cookie — это сериализованный объект — как его изменить
0:31 Данные становятся кодом
1:03 Что такое небезопасная десериализация
1:33 Где скрываются сериализованные данные
2:04 Определение формата по отпечатку
2:35 Внедрение объектов в PHP
3:05 Магические методы (триггер)
3:38 POP-цепочки
4:07 Десериализация PHAR
4:41 Python pickle = мгновенное выполнение удаленных операций (RCE)
5:09 Java-гаджеты
5:42 ysoserial, phpggc и другие
6:13 Как найти и протестировать
6:46 Лаборатория: от cookie к командной оболочке
7:27 Влияние: насколько всё плохо
7:59 Инструментарий
8:32 Защита
9:08 Почему это важно
9:41 Краткий обзор — цикл десериализации
10:18 Тема «данные против кода»
10:48 Следующий эпизод И заключение
🔗 СМОТРИТЕ ВСЮ СЕРИЮ
Веб-тестирование на проникновение: от нуля до героя — 100 эпизодов, от начинающего до продвинутого.
▶ Предыдущий: Эпизод 32 — Внедрение шаблонов на стороне сервера (SSTI)
▶ Следующий: Эпизод 34 — Загрязнение прототипов
🛡️ ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ
Этот контент предназначен исключительно для образовательных целей и авторизованного тестирования безопасности. Все демонстрации проводятся на системах, которыми я владею или на тестирование которых у меня есть явное письменное разрешение. Несанкционированный доступ к компьютерным системам является незаконным. Учитесь защищаться — тестируйте ответственно.
👍 Если это помогло, подпишитесь, чтобы получать остальную часть дорожной карты.
💬 Вы когда-нибудь расшифровывали cookie и обнаруживали целый объект, смотрящий на вас в ответ? Расскажите мне об этом ниже.
#НебезопаснаяДесериализация #Десериализация #RCE #BugBounty #ЭтичныйВзлом #ТестированиеНаПроникновение #КиберБезопасность #ysoserial #БезопасностьПриложений #ВебБезопасность