<summary><strong>Aprenda hacking no AWS do zero ao herói com</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras formas de apoiar o HackTricks:
* Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**material oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Junte-se ao grupo** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao grupo [**telegram**](https://t.me/peass) ou **siga**-me no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para os repositórios github do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
## Informações Básicas sobre Inclusão no Lado do Servidor
SSI (Server Side Includes) são diretivas que são **colocadas em páginas HTML e avaliadas no servidor** enquanto as páginas estão sendo fornecidas. Elas permitem **adicionar conteúdo gerado dinamicamente** a uma página HTML existente, sem a necessidade de fornecer a página inteira através de um programa CGI ou outra tecnologia dinâmica.\
A decisão de quando usar SSI, e quando ter sua página inteiramente gerada por algum programa, geralmente é uma questão de quanto da página é estático e quanto precisa ser recalculado cada vez que a página é fornecida. SSI é uma ótima maneira de adicionar pequenas peças de informação, como a hora atual - mostrada acima. Mas se a maioria da sua página está sendo gerada no momento em que é fornecida, você precisa procurar outra solução. (Definição retirada de [aqui](https://httpd.apache.org/docs/current/howto/ssi.html)).
Há um problema ao **armazenar informações ou aplicações dinâmicas em cache**, pois parte do conteúdo pode ter **variado** para a próxima vez que o conteúdo for recuperado. É para isso que o **ESI** é utilizado, para indicar usando tags ESI o **conteúdo dinâmico que precisa ser gerado** antes de enviar a versão em cache.\
Se um **atacante** conseguir **injetar uma tag ESI** dentro do conteúdo em cache, então, ele poderá **injetar conteúdo arbitrário** no documento antes de ser enviado aos usuários.
[GoSecure](https://www.gosecure.net/blog/2018/04/03/beyond-xss-edge-side-include-injection/) criou uma tabela para nos ajudar a entender possíveis ataques que podemos tentar contra diferentes softwares capazes de ESI, dependendo da funcionalidade suportada. Vamos fornecer algumas explicações sobre os nomes das colunas da tabela abaixo primeiro:
* **Vars**: Suporta a diretiva `<esi:vars>`. Útil para contornar Filtros de XSS
* **Cookie**: Cookies do documento são acessíveis pelo motor de ESI
* **Upstream Headers Required**: Aplicações substitutas não processarão declarações de ESI a menos que a aplicação a montante forneça os cabeçalhos
* **Host Allowlist**: Neste caso, inclusões de ESI só são possíveis a partir de hosts de servidores permitidos, tornando SSRF, por exemplo, possível apenas contra esses hosts
Também é possível adicionar inclusões ESI baseadas em \*\* **\_**eXtensible Stylesheet Language Transformations (XSLT)**\_** \*\* especificando o valor `xslt` para o parâmetro _dca_. A inclusão a seguir fará com que o substituto HTTP solicite o arquivo XML e XSLT. O arquivo XSLT é então usado para filtrar o arquivo XML. Este arquivo XML pode ser usado para realizar ataques _XML External Entity (XXE)_. Isso permite que atacantes realizem ataques SSRF, o que não é muito útil, já que isso deve ser realizado por meio de inclusões ESI, que já é um vetor SSRF por si só. DTDs externos não são analisados, pois a biblioteca subjacente (Xalan) não tem suporte para isso. Isso significa que não podemos extrair arquivos locais.
<summary><strong>Aprenda hacking em AWS do zero ao herói com</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**merchandising oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Junte-se ao grupo** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao grupo [**telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para os repositórios do github** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).