Доказательство концепции эксплуатации уязвимости Apache Struts S2-052 (CVE-2017-9805) — удалённое выполнение кода через XML-десериализацию. Создано при решении лабораторной работы INE eWPTX Practice Range. Включает пользовательские полезные нагрузки, скрипт эксплуатации с обратной оболочкой и пошаговые примеры эксплуатации.
Этот репозиторий демонстрирует эксплуатацию Apache Struts S2-052 (CVE-2017-9805) с использованием вредоносной десериализации XML.
Эксплойт был разработан при решении лабораторной работы INE eWPTX Practice Range – Struts XML Deserialization RCE.
Плагин REST в Apache Struts использует XStream для десериализации XML-запросов.
Когда приложение обрабатывает XML с заголовком:
Content-Type: application/xml
Злоумышленник может предоставить вредоносный сериализованный граф объектов, который запускает выполнение произвольных команд через:
java.lang.ProcessBuilder
Это приводит к удаленному выполнению команд (RCE).
Запрос клиента ↓ Плагин REST Struts ↓ Десериализация XML в XStream ↓ Вредоносный граф объектов ↓ ProcessBuilder.start() ↓ Удаленное выполнение кода
Платформа: INE eWPTX Practice Range
Задача: Struts XML Deserialization RCE
Struts 2.1.6 – 2.3.33 Struts 2.5 – 2.5.12