
CVE-2023-50164 Un atacante puede manipular los parámetros de carga de archivos para permitir el recorrido de rutas y, en algunas circunstancias, esto puede llevar a la subida de un archivo malicioso que se puede utilizar para ejecutar código remoto. Se recomienda a los usuarios actualizar a las versiones Struts 2.5.33 o Struts 6.3.0.2 o superiores para solucionar este problema.
Se encontró una vulnerabilidad de seguridad crítica, identificada como CVE-2023-50164 (CVE: 9.8) en Apache Struts, que permite a los atacantes manipular parámetros de carga de archivos, lo que potencialmente puede llevar a un traversal de ruta no autorizado y a la ejecución remota de código (RCE).
Se desarrolló una aplicación de prueba simple para el análisis de CVE
Primero, construya la aplicación usando el comando docker build:
docker build -t exploitable -f DOCKERFILE .
Luego, ejecute la aplicación usando el comando docker run:
docker run -p 8080:8080 exploitable
En este caso, puede acceder a la aplicación en el puerto 8080
Puede desplegarlo en Tomcat o cualquier otro servlet, o ejecutarlo con mvn jetty:run. En este caso, puede acceder a la aplicación en el puerto . El script de explotación solo funciona cuando la aplicación está desplegada en Tomcat, ya que la ruta de explotación es subir un webshell WAR. Sin embargo, muchas otras rutas de explotación pueden funcionar en el caso de la misma vulnerabilidad según las tecnologías utilizadas y otras circunstancias.
9999Instale los paquetes PIP:
pip install requests requests_toolbelt
Luego, puede cambiar la ruta según la URL de su aplicación y ejecutar el siguiente comando:
python exploit.py --url http://localhost:8080/upload.action
Se recomienda ejecutar la aplicación y el exploit en un host Windows. A veces, el exploit puede no funcionar en sistemas basados en *nix.
Este script de explotación ha sido creado con fines de investigación. No está destinado a ser utilizado para actividades maliciosas o no autorizadas.