¿Sabes qué es un ataque de entidad externa XML? En 2017, estaba catalogado como el cuarto ciberataque más utilizado por delincuentes para hackear aplicaciones web. Actualmente, el ranking de OWASP Top 10 lo ha fusionado con el concepto de configuración de seguridad incorrecta y lo ha ubicado en el quinto puesto de la lista.
A pesar de que el concepto ha evolucionado y de que se han desarrollado mecanismos de defensa, el ciberataque del cual hablaremos en este post continúa siendo vigente en páginas con errores de configuración. Por eso, a continuación, te explicaremos qué es un ataque de entidad externa XML (XXE).
¿Qué es un documento XML?
Antes de ver qué es un ataque de entidad externa XML, es necesario conocer qué significa el término XML.
El Lenguaje de Marcas Extensible o XML es un metalenguaje de programación diseñado para almacenar datos en forma de texto plano, por medio de un sistema de etiquetas que el desarrollador puede personalizar.
La vulnerabilidad de estos archivos consiste en que cuentan con la posibilidad de ejecutar código dentro de la aplicación que los interpreta. Dichas líneas de código, que se incluyen en estos documentos, se conocen como entidades externas XML.
¿Qué es un ataque de entidad externa XML (XXE)?
Podemos definir qué es un ataque de entidad externa XML como una inyección de código realizada por vía de este sistema de archivos. Cuando una página web no está debidamente configurada, ejecuta todas las entidades externas incluidas en un XML cuando interpreta este tipo de documentos. De este modo, un hacker malicioso podría subir o modificar un fichero XML en la página y, de esta forma, ejecutar líneas de código malicioso.
¿Cómo prevenir un ataque de entidad externa XML?
🔴 ¿Quieres entrar de lleno a la Ciberseguridad? 🔴
Descubre el Ciberseguridad Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada
👉 Prueba gratis el Bootcamp en Ciberseguridad por una semanaLos ataques XXE son fáciles de prevenir, pero en ocasiones perduran en las aplicaciones web, a causa del descuido o el desconocimiento de sus desarrolladores. Por eso, es recomendable que los profesionales del desarrollo web cuenten con conocimientos ciberseguridad. Es decir, para prevenirlo, primero debes conocer qué es un ataque de entidad externa XML.
Una vez tienes claro el concpeto, la principal forma de prevenir este tipo de ataques consiste, sencillamente, en desactivar la funcionalidad «libxmljs«, que permite ejecutar las entidades externas XML en una aplicación.
Otra forma es utilizar otro formato de texto para el almacenamiento de datos, como Json, el cual impide totalmente la ejecución de entidades externas de raíz.
Consecuencias de un ataque de entidad externa XML
Ya hemos visto qué es un ataque de entidad externa XML, por qué se produce y cómo se puede prevenir. Ahora, hablaremos sobre las consecuencias que podría tener uno de estos ciberataques, si se llegara a ejecutar con éxito.
Denegación de servicio de la página
En un ataque de denegación de servicio, la aplicación web o alguno de sus componentes podría dejar de funcionar para los usuarios. La página podría caerse total o parcialmente a causa de la ejecución de un fichero que explote la vulnerabilidades XXE de la aplicación.
Robo de información confidencial
La inyección de entidad externa por medio de un fichero XML podría estar diseñada para robar la información confidencial de las bases de datos de la aplicación. Los comandos podrían ordenarle a la página web que entregue la lista de usuarios, hashes de contraseñas e, incluso, hacerle modificaciones a esas tablas.
Ejecución remota de código
El mayor peligro de ejecutar entidades externas a través de un documento XML es que podría resultar en una ejecución remota de código por parte del atacante. Al instalarse uno de estos ficheros en una aplicación desprotegida, un hacker podría obtener acceso al navegador de sus víctimas y usar su información para suplantar su identidad, robar sus datos o hacer campañas de phishing, entre muchos otros ciberataques. Por eso, se trata de un ciberataque fácil de evitar, pero que es muy dañino si llega a ocurrir.
Otros ataques del OWASP Top 10
Ya hemos explicado qué es un ataque de entidad externa XML. A continuación, hablaremos acerca de otras vulnerabilidades de aplicaciones web que te guiarán al hacer una auditoría de ciberseguridad.
Uno de los estándares más utilizados para hacer ejercicios de pentesting es la guía del OWASP Top 10, una lista con los diez ciberataques más comunes de las aplicaciones web. En el año 2021, los ataques XXE pasaron a ocupar el quinto puesto de la lista. Ahora, veamos cuáles son las demás, de acuerdo con la versión más reciente del ranking:
- Pérdida de control de acceso.
- Fallas criptográficas.
- Inyección de código.
- Diseño inseguro.
- Configuración de seguridad incorrecta.
- Componentes vulnerables y desactualizados.
- Fallas de identificación.
- Fallas en la integridad de los datos.
- Fallas de registro y monitoreo.
- Falsificación de solicitudes del lado del servidor.
¿Cómo aprender más?
Ya has aprendido qué es un ataque de entidad externa XML, pero no dejes que tus conocimientos se detengan aquí. Si quieres seguir aprendiendo hasta convertirte en un experto en el ámbito de la ciberseguridad, seguro que te interesa nuestro Ciberseguridad Full Stack Bootcamp. En esta formación intensiva, te especializarás en esta rama del sector IT en menos de 7 meses. ¡No lo dudes e inscríbete ya!