hacktricks/src/pentesting-web/http-connection-contamination.md

24 lines
2.3 KiB
Markdown

# Contaminação de Conexão HTTP
{{#include ../banners/hacktricks-training.md}}
**Este é um resumo do post: [https://portswigger.net/research/http-3-connection-contamination](https://portswigger.net/research/http-3-connection-contamination)**. Confira para mais detalhes!
Os navegadores da web podem reutilizar uma única conexão HTTP/2+ para diferentes sites através da [coalescência de conexão HTTP](https://daniel.haxx.se/blog/2016/08/18/http2-connection-coalescing), dado endereços IP compartilhados e um certificado TLS comum. No entanto, isso pode entrar em conflito com o **roteamento de primeira solicitação** em proxies reversos, onde solicitações subsequentes são direcionadas para o back-end determinado pela primeira solicitação. Esse erro de roteamento pode levar a vulnerabilidades de segurança, particularmente quando combinado com certificados TLS curinga e domínios como `*.example.com`.
Por exemplo, se `wordpress.example.com` e `secure.example.com` são servidos pelo mesmo proxy reverso e têm um certificado curinga comum, a coalescência de conexão de um navegador pode levar solicitações para `secure.example.com` a serem processadas incorretamente pelo back-end do WordPress, explorando vulnerabilidades como XSS.
Para observar a coalescência de conexão, a aba de Rede do Chrome ou ferramentas como Wireshark podem ser usadas. Aqui está um trecho para teste:
```javascript
fetch("//sub1.hackxor.net/", { mode: "no-cors", credentials: "include" }).then(
() => {
fetch("//sub2.hackxor.net/", { mode: "no-cors", credentials: "include" })
}
)
```
A ameaça é atualmente limitada devido à raridade do roteamento de primeira solicitação e à complexidade do HTTP/2. No entanto, as mudanças propostas no HTTP/3, que relaxam o requisito de correspondência de endereço IP, podem ampliar a superfície de ataque, tornando servidores com um certificado curinga mais vulneráveis sem a necessidade de um ataque MITM.
As melhores práticas incluem evitar o roteamento de primeira solicitação em proxies reversos e ter cautela com certificados TLS curinga, especialmente com o advento do HTTP/3. Testes regulares e conscientização sobre essas vulnerabilidades complexas e interconectadas são cruciais para manter a segurança na web.
{{#include ../banners/hacktricks-training.md}}