Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

XML con entidades externas y su configuración segura

5 tareas · 40 min · Principiante

Un documento XML puede traer, además de datos, una declaración que le dice al analizador que vaya a buscar contenido a otra parte y lo inserte. Esa capacidad es parte del formato desde siempre, casi ningún programa la necesita, y muchos analizadores la traen encendida de fábrica. Esta sala lee la configuración de los cuatro analizadores de Editorial Cachipay, el registro de salidas de red que hicieron mientras procesaban un lote de archivos de proveedores, y termina en la configuración que cierra el asunto. Nadie envía ningún documento: se lee lo que ya procesaron.

0 de 5 · 0%

Objetivo de la sala

Un documento XML puede traer, además de datos, una declaración que le dice al analizador que vaya a buscar contenido a otra parte y lo inserte. Esa capacidad es parte del formato desde siempre, casi ningún programa la necesita, y muchos analizadores la traen encendida de fábrica. Esta sala lee la configuración de los cuatro analizadores de Editorial Cachipay, el registro de salidas de red que hicieron mientras procesaban un lote de archivos de proveedores, y termina en la configuración que cierra el asunto. Nadie envía ningún documento: se lee lo que ya procesaron.

En el formato XML, la declaración de tipo del documento puede definir entidades, que son atajos que el analizador sustituye por su contenido. Una entidad puede apuntar a un recurso externo, y entonces el analizador va a buscarlo: un archivo del propio servidor o una dirección de red.

El resultado tiene dos caras. La primera: el contenido traído se mete en la respuesta o en los datos importados, así que el documento puede terminar devolviendo lo que el analizador leyó. La segunda, menos evidente y a veces más grave: la petición sale desde el servidor, que suele alcanzar servicios internos que nadie más alcanza. En el catálogo de MITRE es CWE-611.

Responde para continuar

¿Por qué un analizador que resuelve entidades externas es un problema aunque el documento nunca se muestre?

Ver pista de ayuda

Piensa desde dónde sale la conexión y a qué llega ese origen que no alcanza nadie más.

La configuración de un analizador se revisa con dos preguntas: si procesa la declaración de tipo del documento y si va a buscar lo que esa declaración le pida. Un analizador que no procesa la declaración no llega nunca a la segunda pregunta, y es la configuración que recomiendan las guías de la fundación OWASP para el caso general.

Abre el laboratorio y compara los cuatro servicios.

Responde para continuar

Escribe el nombre del servicio cuyo analizador va a buscar lo que le pide el documento.

Ver pista de ayuda

Ejecuta `SELECT * FROM analizadores` y mira la tercera columna.

La configuración dice que puede pasar; el registro dice que pasó. Un servicio que solo lee documentos no tiene ninguna razón para abrir conexiones mientras los procesa, así que cada salida registrada durante el análisis es evidencia directa.

Cuenta las salidas que llegaron a algún destino. Fíjate en que no todas terminaron igual: el cortafuegos de aplicación bloqueó alguna, y eso también se escribe en el informe, porque demuestra que un control existente está funcionando.

Responde para continuar

¿Cuántas salidas hacia la red interna quedaron registradas durante el procesamiento del lote?

Ver pista de ayuda

Ejecuta `SELECT fecha_hora, destino, resultado FROM salidas WHERE destino <> 'ninguno'` y cuenta las filas.

El impacto se escribe con el destino al que el servicio llegó de verdad, no con la lista de todo lo que hay en la red interna. En el registro hay un destino que aparece dos noches y en las dos terminó en conexión establecida: ese es el que va al informe, con las dos fechas.

Responde para continuar

Escribe el destino interno con el que el servicio llegó a establecer conexión.

Ver pista de ayuda

Ejecuta `SELECT * FROM salidas` y busca el resultado que no sea un rechazo.

La corrección de esta familia es de configuración y cabe en una línea: que el analizador no procese la declaración de tipo del documento. Con eso desaparecen a la vez las entidades externas y el agotamiento de memoria por entidades que se expanden unas dentro de otras, que es el otro abuso del mismo mecanismo.

Las medidas de red —que el servicio no pueda salir a ninguna parte— son una segunda capa sana, y en la evidencia se ve que funcionó a medias; pero dejar la causa viva y confiar en el cortafuegos es apostar a que nadie cambie una regla.

Responde para continuar

¿Qué recomiendas como corrección principal del hallazgo del importador?

Ver pista de ayuda

Una de las tres quita la capacidad; las otras dos vigilan que no se use.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad