Riesgo A4 en OWASP - Entidades externas XML (XXE)

Author
By Darío Rivera
Posted on 2021-12-01 in OWASP

En nuestro post Qué es OWASP y por qué todo desarrollador debería conocerlo vimos una introducción a OWASP y por qué es tan importante en el desarrollo de aplicaciones web. Dentro del proyecto TOP TEN, vamos a ahondar un poco en cada una de los diez riesgos de seguridad más críticos en aplicaciones web. Hoy es el turno del Riesgo A4 - Entidades externas XML (XXE).

Definición

Este riesgo refiere a cualquier aplicación que interprete y procese un XML. Esto quiere decir, que los servicios que funcionan a través de SOAP son susceptibles a este riesgo.

Ejemplos

- Un atacante que prepara un XML haciendo referencia a un recurso o fichero en la red interna del servidor.
- De manera predeterminada muchos procesadores XML permiten entidades externas. Las herramientas SAST puedes identificar esta vulnerabilidad inspeccionando dependencias y la configuración. Otras herramientas DAST también permiten detectar estos problemas realizando pasos manuales.

Prevención

- Se debe utilizar en lo posible formatos menos complejos como por ejemplo JSON.
- No se deben serializar datos confidenciales.
- Utilizar validadores de dependencias, actualizar los procesadores y librerías que procesan los XML, actualizar SOAP a la versión 1.2 o superior.
- Se debe deshabilitar las entidades externas XML y procesamiento DTD en todos los analizadores sintácticos de XML en las aplicaciones.
- Realizar validaciones sobre las entradas de datos en los XML, realizar sanitización y filtrado de datos para prevenir data maliciosa en los XML.
-


Acerca de Darío Rivera

Author

Ingeniero de desarrollo en PlacetoPay , Medellín. Darío ha trabajado por más de 6 años en lenguajes de programación web especialmente en PHP. Creador del microframework DronePHP basado en Zend y Laravel.

Sólo aquellos que han alcanzado el éxito saben que siempre estuvo a un paso del momento en que pensaron renunciar.