Логотип
Главная | Статьи | Эксплойт на Java, для уязвимости – Небезопасная десериализация (Insecure Deserialization)
Эксплойт на Java, для уязвимости - Небезопасная десериализация (Insecure Deserialization)

Эксплойт на Java, для уязвимости – Небезопасная десериализация (Insecure Deserialization)

19 ноября, 2024

41

Пример эксплойта для уязвимости небезопасной десериализации может выглядеть следующим образом. Предположим, у нас есть веб-приложение на Java, которое принимает сериализованные объекты и десериализует их без проверки.

Пример уязвимого кода на Java:

Пример эксплойта:

Для создания эксплойта мы можем использовать библиотеку ysoserial, которая позволяет генерировать вредоносные сериализованные объекты для различных уязвимостей десериализации.

  1. Скачайте и скомпилируйте ysoserial:

2. Создайте вредоносный сериализованный объект:

3. Отправьте вредоносный объект в уязвимое приложение: В реальном сценарии вы бы отправили содержимое payload.bin в уязвимое приложение через сеть или другой канал.

Пример кода для отправки эксплойта:

Результат:

Если уязвимое приложение десериализует вредоносный объект, созданный с помощью ysoserial, это может привести к выполнению команды touch /tmp/exploit-success на сервере, где работает уязвимое приложение.

Защита:

Для защиты от уязвимостей небезопасной десериализации рекомендуется:

  1. Использовать безопасные библиотеки для сериализации и десериализации.
  2. Проверять и валидировать данные перед десериализацией.
  3. Использовать белые списки классов, которые могут быть десериализованы.
  4. Обновлять библиотеки и фреймворки до последних версий, содержащих исправления безопасности.