В популярной библиотеке для создания файлов PDF нашли опасный баг
Проблема была исправлена еще в прошлом году, но многие сайты и веб-приложения по-прежнему уязвимы.
Проблема была исправлена еще в прошлом году, но многие сайты и веб-приложения по-прежнему уязвимы.
Связанные с десериализацией уязвимости уже давно представляют угрозу для Java, .NET и PHP. Теперь такая же проблема коснулас…
Специалист компании Secarma Labs обнаружил способ использования PHP-бага, связанного с десериализацией данных, против сайтов…
Разработчики Oracle намерены отказаться от поддержки функциональности сериализации и десериализации данных в языке Java. Об …
Переходим ко второй атаке, которая связана с двоичной сериализацией в Java. Мы, как ты помнишь, были несколько ограничены в возможностях: да, поменять данные объектов можно, а вот отправлять произвольные объекты и получить в итоге RCE (как бывает в случае других языков) можем лишь при определенных условиях.
В качестве большой темы в этот раз я решил выбрать двоичную сериализацию в Java и две связанные с ней атаки. Идея тут проста: с сериализацией мы можем сохранить значения сложных типов данных, например — массив объектов произвольного класса. Фактически формат может быть любой. Мы же рассмотрим нативную двоичную сериализацию в Java.
Переменные и типы хороши, пока мы находимся внутри логики программы C++. Однако рано или поздно становится нужно передавать информацию между программами, между серверами или даже просто показать типы и значения переменных человеку разумному. В этом случае нам приходится заключать сделку со злобным Сериализатором и расплачиваться производительностью своего кода.
Все программы работают с данными. Эти данные надо где-то хранить и иногда куда-нибудь передавать. Для того и другого придумали много полезного. Но вот часто в самой программе мы работаем с этими данными совсем в другом виде и нам приходится писать много кода, чтобы засейвить состояние объектов в ПО. Сегодня мы узнаем, как избежать написания килобайтов вспомогательного кода сериализации.