
Los codificadores conquistan la seguridad: serie Share & Learn - XXE Injection
El ataque XML External Entity Injection, a veces abreviado simplemente como inyección XXE, es relativamente nuevo en comparación con algunas de las vulnerabilidades clásicas que siguen circulando años después de su inicio. Sin embargo, en la actualidad es extremadamente popular entre las comunidades de hackers, y lo es aún más a medida que acumula éxitos.
De hecho, OWASP ahora incluye la inyección XXE como una de las diez principales vulnerabilidades que los sitios deben vigilar y de las que deben defenderse activamente. Pero no te preocupes, la inyección XXE no es más potente que otros exploits que se utilizan en los ciberataques. Es solo que es un poco más nuevo y un poco menos entendido. Se puede prevenir y, de hecho, detener por completo.
En este episodio aprenderemos:
- Cómo usan los atacantes las inyecciones XXE
- Por qué la inyección XXE es peligrosa
- Técnicas que pueden prevenir esta vulnerabilidad.
¿Cómo activan los atacantes una inyección XXE?
La vulnerabilidad de inyección XXE puede producirse cuando un usuario malintencionado tiene la posibilidad de enviar código XML. Utilizan esta capacidad para crear una referencia a una entidad externa. La referencia externa y el código están diseñados para eludir un analizador XML con la configuración predeterminada o uno con una configuración poco definida.
El atacante aprovecha el hecho de que el estándar XML define el concepto de entidad como una unidad de almacenamiento de algún tipo, pero ese almacenamiento puede ser externo o interno. Si se usa correctamente, puede permitir que los procesadores XML accedan a recursos remotos. La mayoría de las veces, los atacantes utilizan esta capacidad para investigar la estructura interna de un sitio web, lanzar un ataque de denegación de servicio mediante la activación de grandes procesos del sistema que intentan acceder a recursos remotos o incluso volcar datos de un servidor local a uno remoto que ellos controlan, lo que la convierte en una buena técnica para filtrar datos importantes, como contraseñas o información personal, contenidos en la base de datos XML.
El código real implicado en el ataque suele ser bastante simplista y se limita a explotar la funcionalidad de la entidad. Por ejemplo, esto podría permitir a un pirata informático acceder al archivo de contraseñas maestras:
<!
¿Por qué es peligrosa la inyección XXE?
Hay algunas razones por las que los ataques con inyección de XXE son tan peligrosos y también frecuentes. Por un lado, es una vulnerabilidad menos conocida en este momento. Y los beneficios que un atacante puede obtener al explotarla son considerables. Por un lado, puede permitir a los atacantes persistentes mapear lentamente todas las rutas de una red interna o incluso escanear los puertos. Aunque esto puede llevar bastante tiempo, es casi imposible que las defensas activas de la red objetivo descubran la actividad de un pirata informático, ya que lo único que hacen es enviar código XML a un servidor que está siendo borrado por un analizador XML de confianza.
Una vez mapeados, los atacantes pueden usar las mismas técnicas de inyección XXE para capturar los archivos que necesiten, ya sea robando información directamente o comprometiendo las credenciales de usuario válidas y usándolas para ataques secundarios. Por último, los atacantes que solo quieren hacer ruido y ser malintencionados pueden hacer cosas como lanzar ataques de denegación de servicio y ordenar a la aplicación que intente acceder a recursos distantes diseñados para atascar el sistema.
Eliminación de la vulnerabilidad de la inyección XXE
Debido al rápido aumento de los ataques de inyección XXE, muchos analizadores XML están empezando a deshabilitar las entidades externas, a veces denominadas DTD, por completo de forma predeterminada. Para ellos, la clave es simplemente no habilitar esa funcionalidad.
Pero incluso los analizadores que permiten DTD pueden tener esa funcionalidad deshabilitada. En general, se necesitará una sentencia como la siguiente para bloquearlo por completo, pero consulte la documentación de su marco local para obtener el código exacto que necesita.
Factory.setFeature (» http://apache.org/xml/features/disallow-doctype-decl «, verdadero);
Siguiendo los principios de seguridad, todas las entradas de los usuarios deben desinfectarse y validarse mediante filtros para toda la aplicación. No olvides incluir los parámetros GET y POST, los encabezados HTTP y las cookies. También puedes crear una lista blanca de comandos y DTD específicos que quieras que procese el analizador, y no permitir todo lo demás.
Si bien las listas blancas y el filtrado funcionan, debido al creciente número de ataques de inyección XXE, se sigue recomendando deshabilitar por completo la compatibilidad con DTD si la funcionalidad no es necesaria.
Más información sobre las inyecciones XXE
Para leer más, puede echar un vistazo a lo que dice OWASP sobre Ataques por inyección XXE. También puedes poner a prueba tus nuevos conocimientos defensivos con el demo gratuita de la plataforma Secure Code Warrior, que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para obtener más información sobre cómo derrotar esta vulnerabilidad y la galería de otras amenazas de los delincuentes, visita la Blog de Secure Code Warrior.


El ataque XML External Entity Injection, a veces abreviado simplemente como inyección XXE, es relativamente nuevo, pero es extremadamente popular entre las comunidades de hackers en la actualidad, y crece aún más a medida que acumula éxitos.

Secure Code Warrior 您的组织在软件开发全生命周期中保护代码安全,并营造将网络安全置于首位的企业文化。无论您是应用安全管理员、开发人员、首席信息安全官,还是任何与安全相关的工作人员,我们都能助力您的组织降低不安全代码带来的风险。
预约演示

El ataque XML External Entity Injection, a veces abreviado simplemente como inyección XXE, es relativamente nuevo en comparación con algunas de las vulnerabilidades clásicas que siguen circulando años después de su inicio. Sin embargo, en la actualidad es extremadamente popular entre las comunidades de hackers, y lo es aún más a medida que acumula éxitos.
De hecho, OWASP ahora incluye la inyección XXE como una de las diez principales vulnerabilidades que los sitios deben vigilar y de las que deben defenderse activamente. Pero no te preocupes, la inyección XXE no es más potente que otros exploits que se utilizan en los ciberataques. Es solo que es un poco más nuevo y un poco menos entendido. Se puede prevenir y, de hecho, detener por completo.
En este episodio aprenderemos:
- Cómo usan los atacantes las inyecciones XXE
- Por qué la inyección XXE es peligrosa
- Técnicas que pueden prevenir esta vulnerabilidad.
¿Cómo activan los atacantes una inyección XXE?
La vulnerabilidad de inyección XXE puede producirse cuando un usuario malintencionado tiene la posibilidad de enviar código XML. Utilizan esta capacidad para crear una referencia a una entidad externa. La referencia externa y el código están diseñados para eludir un analizador XML con la configuración predeterminada o uno con una configuración poco definida.
El atacante aprovecha el hecho de que el estándar XML define el concepto de entidad como una unidad de almacenamiento de algún tipo, pero ese almacenamiento puede ser externo o interno. Si se usa correctamente, puede permitir que los procesadores XML accedan a recursos remotos. La mayoría de las veces, los atacantes utilizan esta capacidad para investigar la estructura interna de un sitio web, lanzar un ataque de denegación de servicio mediante la activación de grandes procesos del sistema que intentan acceder a recursos remotos o incluso volcar datos de un servidor local a uno remoto que ellos controlan, lo que la convierte en una buena técnica para filtrar datos importantes, como contraseñas o información personal, contenidos en la base de datos XML.
El código real implicado en el ataque suele ser bastante simplista y se limita a explotar la funcionalidad de la entidad. Por ejemplo, esto podría permitir a un pirata informático acceder al archivo de contraseñas maestras:
<!
¿Por qué es peligrosa la inyección XXE?
Hay algunas razones por las que los ataques con inyección de XXE son tan peligrosos y también frecuentes. Por un lado, es una vulnerabilidad menos conocida en este momento. Y los beneficios que un atacante puede obtener al explotarla son considerables. Por un lado, puede permitir a los atacantes persistentes mapear lentamente todas las rutas de una red interna o incluso escanear los puertos. Aunque esto puede llevar bastante tiempo, es casi imposible que las defensas activas de la red objetivo descubran la actividad de un pirata informático, ya que lo único que hacen es enviar código XML a un servidor que está siendo borrado por un analizador XML de confianza.
Una vez mapeados, los atacantes pueden usar las mismas técnicas de inyección XXE para capturar los archivos que necesiten, ya sea robando información directamente o comprometiendo las credenciales de usuario válidas y usándolas para ataques secundarios. Por último, los atacantes que solo quieren hacer ruido y ser malintencionados pueden hacer cosas como lanzar ataques de denegación de servicio y ordenar a la aplicación que intente acceder a recursos distantes diseñados para atascar el sistema.
Eliminación de la vulnerabilidad de la inyección XXE
Debido al rápido aumento de los ataques de inyección XXE, muchos analizadores XML están empezando a deshabilitar las entidades externas, a veces denominadas DTD, por completo de forma predeterminada. Para ellos, la clave es simplemente no habilitar esa funcionalidad.
Pero incluso los analizadores que permiten DTD pueden tener esa funcionalidad deshabilitada. En general, se necesitará una sentencia como la siguiente para bloquearlo por completo, pero consulte la documentación de su marco local para obtener el código exacto que necesita.
Factory.setFeature (» http://apache.org/xml/features/disallow-doctype-decl «, verdadero);
Siguiendo los principios de seguridad, todas las entradas de los usuarios deben desinfectarse y validarse mediante filtros para toda la aplicación. No olvides incluir los parámetros GET y POST, los encabezados HTTP y las cookies. También puedes crear una lista blanca de comandos y DTD específicos que quieras que procese el analizador, y no permitir todo lo demás.
Si bien las listas blancas y el filtrado funcionan, debido al creciente número de ataques de inyección XXE, se sigue recomendando deshabilitar por completo la compatibilidad con DTD si la funcionalidad no es necesaria.
Más información sobre las inyecciones XXE
Para leer más, puede echar un vistazo a lo que dice OWASP sobre Ataques por inyección XXE. También puedes poner a prueba tus nuevos conocimientos defensivos con el demo gratuita de la plataforma Secure Code Warrior, que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para obtener más información sobre cómo derrotar esta vulnerabilidad y la galería de otras amenazas de los delincuentes, visita la Blog de Secure Code Warrior.

El ataque XML External Entity Injection, a veces abreviado simplemente como inyección XXE, es relativamente nuevo en comparación con algunas de las vulnerabilidades clásicas que siguen circulando años después de su inicio. Sin embargo, en la actualidad es extremadamente popular entre las comunidades de hackers, y lo es aún más a medida que acumula éxitos.
De hecho, OWASP ahora incluye la inyección XXE como una de las diez principales vulnerabilidades que los sitios deben vigilar y de las que deben defenderse activamente. Pero no te preocupes, la inyección XXE no es más potente que otros exploits que se utilizan en los ciberataques. Es solo que es un poco más nuevo y un poco menos entendido. Se puede prevenir y, de hecho, detener por completo.
En este episodio aprenderemos:
- Cómo usan los atacantes las inyecciones XXE
- Por qué la inyección XXE es peligrosa
- Técnicas que pueden prevenir esta vulnerabilidad.
¿Cómo activan los atacantes una inyección XXE?
La vulnerabilidad de inyección XXE puede producirse cuando un usuario malintencionado tiene la posibilidad de enviar código XML. Utilizan esta capacidad para crear una referencia a una entidad externa. La referencia externa y el código están diseñados para eludir un analizador XML con la configuración predeterminada o uno con una configuración poco definida.
El atacante aprovecha el hecho de que el estándar XML define el concepto de entidad como una unidad de almacenamiento de algún tipo, pero ese almacenamiento puede ser externo o interno. Si se usa correctamente, puede permitir que los procesadores XML accedan a recursos remotos. La mayoría de las veces, los atacantes utilizan esta capacidad para investigar la estructura interna de un sitio web, lanzar un ataque de denegación de servicio mediante la activación de grandes procesos del sistema que intentan acceder a recursos remotos o incluso volcar datos de un servidor local a uno remoto que ellos controlan, lo que la convierte en una buena técnica para filtrar datos importantes, como contraseñas o información personal, contenidos en la base de datos XML.
El código real implicado en el ataque suele ser bastante simplista y se limita a explotar la funcionalidad de la entidad. Por ejemplo, esto podría permitir a un pirata informático acceder al archivo de contraseñas maestras:
<!
¿Por qué es peligrosa la inyección XXE?
Hay algunas razones por las que los ataques con inyección de XXE son tan peligrosos y también frecuentes. Por un lado, es una vulnerabilidad menos conocida en este momento. Y los beneficios que un atacante puede obtener al explotarla son considerables. Por un lado, puede permitir a los atacantes persistentes mapear lentamente todas las rutas de una red interna o incluso escanear los puertos. Aunque esto puede llevar bastante tiempo, es casi imposible que las defensas activas de la red objetivo descubran la actividad de un pirata informático, ya que lo único que hacen es enviar código XML a un servidor que está siendo borrado por un analizador XML de confianza.
Una vez mapeados, los atacantes pueden usar las mismas técnicas de inyección XXE para capturar los archivos que necesiten, ya sea robando información directamente o comprometiendo las credenciales de usuario válidas y usándolas para ataques secundarios. Por último, los atacantes que solo quieren hacer ruido y ser malintencionados pueden hacer cosas como lanzar ataques de denegación de servicio y ordenar a la aplicación que intente acceder a recursos distantes diseñados para atascar el sistema.
Eliminación de la vulnerabilidad de la inyección XXE
Debido al rápido aumento de los ataques de inyección XXE, muchos analizadores XML están empezando a deshabilitar las entidades externas, a veces denominadas DTD, por completo de forma predeterminada. Para ellos, la clave es simplemente no habilitar esa funcionalidad.
Pero incluso los analizadores que permiten DTD pueden tener esa funcionalidad deshabilitada. En general, se necesitará una sentencia como la siguiente para bloquearlo por completo, pero consulte la documentación de su marco local para obtener el código exacto que necesita.
Factory.setFeature (» http://apache.org/xml/features/disallow-doctype-decl «, verdadero);
Siguiendo los principios de seguridad, todas las entradas de los usuarios deben desinfectarse y validarse mediante filtros para toda la aplicación. No olvides incluir los parámetros GET y POST, los encabezados HTTP y las cookies. También puedes crear una lista blanca de comandos y DTD específicos que quieras que procese el analizador, y no permitir todo lo demás.
Si bien las listas blancas y el filtrado funcionan, debido al creciente número de ataques de inyección XXE, se sigue recomendando deshabilitar por completo la compatibilidad con DTD si la funcionalidad no es necesaria.
Más información sobre las inyecciones XXE
Para leer más, puede echar un vistazo a lo que dice OWASP sobre Ataques por inyección XXE. También puedes poner a prueba tus nuevos conocimientos defensivos con el demo gratuita de la plataforma Secure Code Warrior, que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para obtener más información sobre cómo derrotar esta vulnerabilidad y la galería de otras amenazas de los delincuentes, visita la Blog de Secure Code Warrior.
El ataque XML External Entity Injection, a veces abreviado simplemente como inyección XXE, es relativamente nuevo en comparación con algunas de las vulnerabilidades clásicas que siguen circulando años después de su inicio. Sin embargo, en la actualidad es extremadamente popular entre las comunidades de hackers, y lo es aún más a medida que acumula éxitos.
De hecho, OWASP ahora incluye la inyección XXE como una de las diez principales vulnerabilidades que los sitios deben vigilar y de las que deben defenderse activamente. Pero no te preocupes, la inyección XXE no es más potente que otros exploits que se utilizan en los ciberataques. Es solo que es un poco más nuevo y un poco menos entendido. Se puede prevenir y, de hecho, detener por completo.
En este episodio aprenderemos:
- Cómo usan los atacantes las inyecciones XXE
- Por qué la inyección XXE es peligrosa
- Técnicas que pueden prevenir esta vulnerabilidad.
¿Cómo activan los atacantes una inyección XXE?
La vulnerabilidad de inyección XXE puede producirse cuando un usuario malintencionado tiene la posibilidad de enviar código XML. Utilizan esta capacidad para crear una referencia a una entidad externa. La referencia externa y el código están diseñados para eludir un analizador XML con la configuración predeterminada o uno con una configuración poco definida.
El atacante aprovecha el hecho de que el estándar XML define el concepto de entidad como una unidad de almacenamiento de algún tipo, pero ese almacenamiento puede ser externo o interno. Si se usa correctamente, puede permitir que los procesadores XML accedan a recursos remotos. La mayoría de las veces, los atacantes utilizan esta capacidad para investigar la estructura interna de un sitio web, lanzar un ataque de denegación de servicio mediante la activación de grandes procesos del sistema que intentan acceder a recursos remotos o incluso volcar datos de un servidor local a uno remoto que ellos controlan, lo que la convierte en una buena técnica para filtrar datos importantes, como contraseñas o información personal, contenidos en la base de datos XML.
El código real implicado en el ataque suele ser bastante simplista y se limita a explotar la funcionalidad de la entidad. Por ejemplo, esto podría permitir a un pirata informático acceder al archivo de contraseñas maestras:
<!
¿Por qué es peligrosa la inyección XXE?
Hay algunas razones por las que los ataques con inyección de XXE son tan peligrosos y también frecuentes. Por un lado, es una vulnerabilidad menos conocida en este momento. Y los beneficios que un atacante puede obtener al explotarla son considerables. Por un lado, puede permitir a los atacantes persistentes mapear lentamente todas las rutas de una red interna o incluso escanear los puertos. Aunque esto puede llevar bastante tiempo, es casi imposible que las defensas activas de la red objetivo descubran la actividad de un pirata informático, ya que lo único que hacen es enviar código XML a un servidor que está siendo borrado por un analizador XML de confianza.
Una vez mapeados, los atacantes pueden usar las mismas técnicas de inyección XXE para capturar los archivos que necesiten, ya sea robando información directamente o comprometiendo las credenciales de usuario válidas y usándolas para ataques secundarios. Por último, los atacantes que solo quieren hacer ruido y ser malintencionados pueden hacer cosas como lanzar ataques de denegación de servicio y ordenar a la aplicación que intente acceder a recursos distantes diseñados para atascar el sistema.
Eliminación de la vulnerabilidad de la inyección XXE
Debido al rápido aumento de los ataques de inyección XXE, muchos analizadores XML están empezando a deshabilitar las entidades externas, a veces denominadas DTD, por completo de forma predeterminada. Para ellos, la clave es simplemente no habilitar esa funcionalidad.
Pero incluso los analizadores que permiten DTD pueden tener esa funcionalidad deshabilitada. En general, se necesitará una sentencia como la siguiente para bloquearlo por completo, pero consulte la documentación de su marco local para obtener el código exacto que necesita.
Factory.setFeature (» http://apache.org/xml/features/disallow-doctype-decl «, verdadero);
Siguiendo los principios de seguridad, todas las entradas de los usuarios deben desinfectarse y validarse mediante filtros para toda la aplicación. No olvides incluir los parámetros GET y POST, los encabezados HTTP y las cookies. También puedes crear una lista blanca de comandos y DTD específicos que quieras que procese el analizador, y no permitir todo lo demás.
Si bien las listas blancas y el filtrado funcionan, debido al creciente número de ataques de inyección XXE, se sigue recomendando deshabilitar por completo la compatibilidad con DTD si la funcionalidad no es necesaria.
Más información sobre las inyecciones XXE
Para leer más, puede echar un vistazo a lo que dice OWASP sobre Ataques por inyección XXE. También puedes poner a prueba tus nuevos conocimientos defensivos con el demo gratuita de la plataforma Secure Code Warrior, que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para obtener más información sobre cómo derrotar esta vulnerabilidad y la galería de otras amenazas de los delincuentes, visita la Blog de Secure Code Warrior.



%20(1).avif)
.avif)
