
Доказательство концепции CVE-2022-22965 для отчёта CS4239
Доказательство концепции для CVE-2022-22965 (Spring4Shell) для отчёта CS4239 G410. Адаптировано из этого PoC для демонстрации уязвимого и пропатченного поведения.
В этом репозитории есть 2 примера программ (в Docker) с идентичным исходным кодом. Одна использует уязвимую версию Spring Boot, а другая — пропатченную. Tomcat также выпустил патч для этой уязвимости, но в этой демонстрации используется та же уязвимая версия Tomcat, чтобы изолировать эффекты патча Spring.
Для запуска демо-приложений:
docker compose build
docker compose up
Для запуска эксплойта:
# vulnerable
python exploit.py --url "http://localhost:8080/helloworld/greeting"
# patched
python exploit.py --url "http://localhost:8081/helloworld/greeting"
Если эксплойт сработает, появится новая страница, которая позволяет выполнять команды. Пример выполнения :
idhttp://localhost:8080/shell.jsp?cmd=id
Эксплойт не работает для пропатченной версии — shell.jsp не внедряется.