Applicazione di test per CVE-2022-42889
Questa repository contiene una semplice applicazione che utilizza Apache Commons Text 1.9, vulnerabile a CVE-2022-42889.
Passaggi per riprodurre l'exploit.
Passaggi per riprodurre l'exploit in una repository.
- Copia DemoApplication.java nella tua repository.
- Esegui il metodo main, con la stringa predefinita (consigliato).
- Se l'output per la stringa predefinita è 519. Oppure se la tua app viene eseguita senza errori:
- Allora l'app è sfruttabile. 🥵
Esecuzione dell'applicazione in una VM
- Clona la repository
- Compila il progetto
mvn assembly:assembly -DdescriptorId=jar-with-dependencies
- Esegui l'applicazione sulla VM (con il comando seguente)
java -jar target/demo-0.0.1-SNAPSHOT-jar-with-dependencies.jar
- Quando viene richiesto un input, lascia la stringa predefinita (premi Invio).
- Se l'output per la stringa predefinita è 519. Oppure se la tua app viene eseguita senza errori:
- Allora l'app è sfruttabile. 🥵
Esecuzione dell'applicazione in docker
- Clona la repository
- Sostituisci OPENJRE_JRE_IMAGE con l'immagine nella tua repository.
- Compila ed esegui l'applicazione tramite docker:
docker build -t poc .
docker run -it poc
- Quando viene richiesto un input, lascia la stringa predefinita (premi Invio).
- Se l'output per la stringa predefinita è 519. Oppure se la tua app viene eseguita senza errori:
- Allora l'app è sfruttabile. 🥵
Come puoi vedere, l'operazione viene eseguita. Il che indica che la RCE ha avuto successo.