# Exemplos de Pool de Conexões
Aprenda hacking no AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)! 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** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
## Sekaictf2022 - safelist No desafio [**Sekaictf2022 - safelist**](https://github.com/project-sekai-ctf/sekaictf-2022/tree/main/web/safelist/solution), [**@Strellic\_**](https://twitter.com/Strellic\_) fornece um exemplo de como usar uma **variação** da técnica **Connection Pool** para realizar um **XS-Leak**. Neste desafio, o objetivo é exfiltrar uma flag que aparecerá na sessão web dos bots dentro de um post. Estes são os recursos que o atacante possui: * O **bot** irá **visitar** uma **URL** fornecida pelo atacante * O atacante pode **injetar HTML** na página (mas não JS, dompurify é usado) abusando de um **CSRF** fazendo o **bot criar um post** com esse HTML. * O atacante pode abusar de um CSRF para fazer o **bot** **deletar** o **primeiro** **post** dentro da web. * Como os **posts** são ordenados **alfabeticamente**, quando o **primeiro post é deletado**, se o **conteúdo HTML** do atacante for **carregado** significa que estava **alfabeticamente antes da flag**. Portanto, para roubar a flag, a solução proposta por @Strellyc\_ é, **para cada caractere a testar**, fazer o bot: * Criar um **novo post** que **começa** com a parte conhecida da **flag** e vários **carregamentos de img**. * **Deletar** o **post** na posição **0**. * Bloquear 255 sockets. * Carregar a página com os posts * Realizar 5 pedidos aleatórios a um site (example.com neste caso) e medir o tempo que isso leva. {% hint style="warning" %} Se o **post deletado** foi a **flag**, isso significa que todas as **imagens** **injetadas** no HTML vão estar **disputando** com os **5 pedidos aleatórios** por aquele **socket desbloqueado**. O que significa que o tempo medido vai ser maior do que o outro cenário. Se o **post deletado** foi o **HTML**, os **5 pedidos aleatórios** serão **mais rápidos** porque não precisam disputar por aquele socket com o HTML injetado. {% endhint %} ### Exploit 1 Este é o código do exploit, retirado de [https://github.com/project-sekai-ctf/sekaictf-2022/blob/main/web/safelist/solution/solve.html](https://github.com/project-sekai-ctf/sekaictf-2022/blob/main/web/safelist/solution/solve.html): ```html
``` ### Exploração 2 Mesma tática, mas código diferente de [https://blog.huli.tw/2022/10/05/en/sekaictf2022-safelist-xsleak/](https://blog.huli.tw/2022/10/05/en/sekaictf2022-safelist-xsleak/) ```html
``` ## DiceCTF 2022 - carrot Neste caso, o primeiro passo do exploit foi abusar de um CSRF para modificar a página onde a flag está contida para que ela tenha **muito mais conteúdo** (e, portanto, carregá-la leva mais tempo), e então **abusar do pool de conexões para medir o tempo que leva para acessar a página** que poderia potencialmente ter a flag. No exploit, você pode ver: * Abusar do CSRF * Ocupar todos os sockets menos 1 * Calibrar a resposta * Começar o bruteforce acessando a página potencial com a flag * A página potencial será acessada e imediatamente uma URL controlada pelo atacante também será acessada para verificar quanto tempo ambas as solicitações levam. ```html

DiceCTF 2022 web/carrot

Step 1: CSRF the admin user, to set a super long title for the flag note (LAX + POST form only possible for 2 minutes after cookies is created)

Step 2: XS-Search with connection-pool timing leak, we have to use window.open (LAX cookie)




```
Aprenda hacking no AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)! 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 do GitHub** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).