
App Spring intenzionalmente vulnerabile per testare CVE-2022-22965
Per maggiori informazioni: https://www.fracturelabs.com/posts/effective-spring4shell-scanning-exploitation/
Il seguente codice creerà rapidamente un'immagine Docker vulnerabile utilizzando i seguenti componenti:
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
Sono definite due route: /spring4shell_victim e /spring4shell_victim/vulnerable. Puoi usarle per verificare che gli strumenti di scansione funzionino correttamente. La route predefinita (/) non è volutamente vulnerabile, per spingerti a riflettere su come configurare i tuoi strumenti di scansione per individuare gli endpoint vulnerabili.
# This route is not vulnerable
curl -is localhost:9000/spring4shell_victim/?class.module.classLoader.URLs%5b-1%5d
# This route is vulnerable
curl -is localhost:9000/spring4shell_victim/vulnerable?class.module.classLoader.URLs%5b-1%5d

Puoi verificare che il tuo codice sia stato distribuito correttamente connettendoti a una shell sul container e guardando nella directory /usr/local/tomcat/webapps/.
docker exec -it spring4shell_victim /bin/bash
NOTA: Il codice POC sopra causa solo un crash rilevabile (errore 500). Non carica effettivamente alcun codice.