
Намеренно уязвимое Spring-приложение для тестирования CVE-2022-22965
Дополнительная информация: https://www.fracturelabs.com/posts/effective-spring4shell-scanning-exploitation/
Следующий код быстро соберет уязвимый Docker-образ, используя следующие компоненты:
git clone https://github.com/fracturelabs/spring4shell_victim.git
cd spring4shell_victim
docker image build -t spring4shell_victim .
docker container run -it -p 8080:8080 --name spring4shell_victim --rm spring4shell_victim
Определены два маршрута: /spring4shell_victim и /spring4shell_victim/vulnerable. Вы можете использовать это для проверки корректной работы любых инструментов сканирования. Маршрут по умолчанию (/) специально не уязвим, чтобы заставить вас задуматься о настройке инструментов сканирования для поиска уязвимых конечных точек.
# Этот маршрут не уязвим
curl -is localhost:9000/spring4shell_victim/?class.module.classLoader.URLs%5b-1%5d
# Этот маршрут уязвим
curl -is localhost:9000/spring4shell_victim/vulnerable?class.module.classLoader.URLs%5b-1%5d

Вы можете проверить, что ваш код развернут корректно, подключившись к оболочке контейнера и проверив каталог /usr/local/tomcat/webapps/.
docker exec -it spring4shell_victim /bin/bash
ПРИМЕЧАНИЕ: Приведенный выше POC-код вызывает только сбой, который вы можете обнаружить (ошибка 500). Он не загружает никакого кода.