* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtén el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de Telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
En el desafío [**Sekaictf2022 - safelist**](https://github.com/project-sekai-ctf/sekaictf-2022/tree/main/web/safelist/solution), [**@Strellic\_**](https://twitter.com/Strellic\_) da un ejemplo de cómo usar una **variación** de la técnica de **Pool de Conexiones** para realizar una **XS-Leak**.
En este desafío, el objetivo es extraer una bandera que aparecerá en la sesión web de los bots dentro de una publicación. Estos son los recursos que tiene el atacante:
* El **bot****visitará** una **URL** proporcionada por el atacante.
* El atacante puede **inyectar HTML** en la página (pero no JS, se utiliza dompurify) aprovechando un **CSRF** para hacer que el **bot cree una publicación** con ese HTML.
* El atacante puede abusar de un CSRF para hacer que el **bot****elimine** la **primera publicación** en la web.
* Debido a que las **publicaciones** están ordenadas **alfabéticamente**, cuando se **elimina la primera publicación**, si el contenido **HTML** del atacante se **carga**, significa que estaba **alfabéticamente antes de la bandera**.
Si la publicación **eliminada** era la **bandera**, esto significa que todas las **imágenes****inyectadas** en el HTML estarán **compitiendo** con las **5 solicitudes aleatorias** por ese socket **desbloqueado**. Lo que significa que el tiempo medido será mayor que en el otro escenario.
Si la publicación **eliminada** era el **HTML**, las **5 solicitudes aleatorias** serán **más rápidas** porque no necesitan competir por ese socket con el HTML inyectado.
Este es el código de explotación, tomado 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
<!-- Form to inject HTML code in the bots page -->
La misma táctica pero con un 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/)
En este caso, el primer paso del exploit fue aprovechar un CSRF para modificar la página donde se encuentra la bandera de manera que tenga **mucho más contenido** (y por lo tanto, tarda más en cargarse), y luego **abuso del pool de conexiones para medir el tiempo que tarda en acceder a la página** que potencialmente podría tener la bandera.
En el exploit se puede ver:
* Aprovechar CSRF
* Ocupar todos los sockets excepto uno
* Calibrar la respuesta
* Comenzar la fuerza bruta accediendo a la página potencial con la bandera
* Se accederá a la página potencial y de inmediato también se accederá a una URL controlada por el atacante para verificar cuánto tiempo tardan ambas solicitudes.
```html
<h1>DiceCTF 2022 web/carrot</h1>
<p>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)</p>
<buttononclick="csrf()">do csrf</button>
<p>Step 2: XS-Search with <ahref="https://xsleaks.dev/docs/attacks/timing-attacks/connection-pool/">connection-pool timing leak</a>, we have to use window.open (LAX cookie)</p>
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS 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)
* Obtén el [**merchandising oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de Telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).