# Esempi di Connection Pool
{% hint style="success" %}
Impara e pratica Hacking AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Impara e pratica Hacking GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Supporta HackTricks
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos su github.
{% endhint %}
## Sekaictf2022 - safelist
Nella sfida [**Sekaictf2022 - safelist**](https://github.com/project-sekai-ctf/sekaictf-2022/tree/main/web/safelist/solution), [**@Strellic\_**](https://twitter.com/Strellic\_) fornisce un esempio di come utilizzare una **variazione** della tecnica **Connection Pool** per eseguire un **XS-Leak**.
In questa sfida, l'obiettivo è esfiltrare una flag che apparirà nella sessione web del bot all'interno di un post. Questi sono gli asset di cui dispone l'attaccante:
* Il **bot** visiterà un **URL** fornito dall'attaccante
* L'attaccante può **iniettare HTML** nella pagina (ma non JS, viene utilizzato dompurify) abusando di un **CSRF** facendo sì che il **bot crei un post** con quell'HTML.
* L'attaccante può abusare di un CSRF per far sì che il **bot** **cancelli** il **primo** **post** all'interno del web.
* Poiché i **post** sono ordinati **alfabeticamente**, quando il **primo post viene cancellato**, se il contenuto **HTML** dell'attaccante è **caricato** significa che era **alfabeticamente prima della flag**.
Pertanto, per rubare la flag, la soluzione proposta da @Strellyc\_ è di, **per ogni carattere da testare** far sì che il bot:
* Crei un **nuovo post** che **inizia** con la parte conosciuta della **flag** e diversi **img** **caricati**.
* **Cancellare** il **post** in posizione **0**.
* Bloccare 255 socket.
* Caricare la pagina con i post
* Eseguire 5 richieste casuali a un sito (example.com in questo caso) e misurare il tempo che ci vuole.
{% hint style="warning" %}
Se il **post cancellato** era la **flag**, questo significa che tutte le **immagini** **iniettate** nell'HTML stanno **lottando** con le **5 richieste casuali** per quel socket **non bloccato**. Ciò significa che il tempo misurato sarà maggiore rispetto all'altro scenario.
Se il **post cancellato** era l'**HTML**, le **5 richieste casuali** saranno **più veloci** perché non devono lottare per quel socket con l'HTML iniettato.
{% endhint %}
### Exploit 1
Questo è il codice dell'exploit, preso da [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
```
### Exploit 2
Stessa tattica ma codice diverso da [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
In questo caso, il primo passo dell'exploit è stato abusare di un CSRF per modificare la pagina in cui è contenuto il flag in modo che abbia **molto più contenuto** (e quindi il caricamento richiede più tempo), e poi **abusare del connection pool per misurare il tempo necessario per accedere alla pagina** che potrebbe contenere il flag.
Nell'exploit puoi vedere:
* Abusare del CSRF
* Occupare tutte le socket tranne 1
* Calibrare la risposta
* Iniziare a bruteforcing accedendo alla potenziale pagina con il flag
* La pagina potenziale sarà accessibile e immediatamente verrà anche accessibile un URL controllato dall'attaccante per verificare quanto tempo richiedono entrambe le richieste.
```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)
```
{% hint style="success" %}
Impara e pratica il hacking AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Impara e pratica il hacking GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Supporta HackTricks
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos su github.
{% endhint %}