<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
SSI (Server Side Includes) son directivas que se **colocan en páginas HTML y se evalúan en el servidor** mientras las páginas se están sirviendo. Te permiten **agregar contenido generado dinámicamente** a una página HTML existente, sin tener que servir toda la página a través de un programa CGI u otra tecnología dinámica.\
La decisión de cuándo usar SSI, y cuándo tener tu página generada completamente por algún programa, suele ser una cuestión de cuánto de la página es estático y cuánto necesita ser recalculado cada vez que se sirve la página. SSI es una excelente manera de agregar pequeños fragmentos de información, como la hora actual - mostrada arriba. Pero si la mayoría de tu página se está generando en el momento en que se sirve, necesitas buscar alguna otra solución.
Puedes inferir la presencia de SSI si la aplicación web utiliza archivos con las extensiones \*\* `.shtml`, `.shtm` o `.stm`\*\*, pero no es el único caso.
Existe un problema al **almacenar en caché información o aplicaciones dinámicas** ya que parte del contenido puede haber **variado** para la próxima vez que se recupere el contenido. Para esto se utiliza **ESI**, para indicar mediante etiquetas ESI el **contenido dinámico que debe generarse** antes de enviar la versión en caché.\
si un **atacante** es capaz de **inyectar una etiqueta ESI** dentro del contenido en caché, entonces, podría ser capaz de **inyectar contenido arbitrario** en el documento antes de que se envíe a los usuarios.
[GoSecure creó](https://www.gosecure.net/blog/2018/04/03/beyond-xss-edge-side-include-injection/) una tabla para entender los posibles ataques que podemos intentar contra diferentes software capaces de ESI, dependiendo de la funcionalidad admitida:
* **Includes**: Admite la directiva `<esi:includes>`
* **Vars**: Admite la directiva `<esi:vars>`. Útil para evadir los filtros XSS
* **Cookie**: Las cookies del documento son accesibles para el motor ESI
* **Se Requieren Encabezados de Origen**: Las aplicaciones sustitutas no procesarán las declaraciones ESI a menos que la aplicación de origen proporcione los encabezados
* **Lista Blanca de Hosts**: En este caso, las inclusiones de ESI solo son posibles desde los hosts de servidor permitidos, lo que hace que, por ejemplo, SSRF solo sea posible contra esos hosts
Al especificar el valor `xslt` para el parámetro _dca_, es factible incluir ESI basado en **`Transformaciones de Lenguaje de Hoja de Estilo Extensible (XSLT)`**. La inclusión hace que el servidor HTTP recupere los archivos XML y XSLT, siendo este último el que filtra el primero. Estos archivos XML son explotables para ataques de _Entidades Externas XML (XXE)_, lo que permite a los atacantes ejecutar ataques SSRF. Sin embargo, la utilidad de este enfoque es limitada ya que las inclusiones de ESI ya sirven como un vector SSRF. Debido a la falta de soporte en la biblioteca subyacente Xalan, los DTD externos no se procesan, lo que evita la extracción de archivos locales.
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén el [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).