Перейти к содержимому

Небезопасная десериализация: объяснение — как измененный 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 #БезопасностьПриложений #ВебБезопасность