# Connection Pool Examples {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %} ## Sekaictf2022 - safelist W wyzwaniu [**Sekaictf2022 - safelist**](https://github.com/project-sekai-ctf/sekaictf-2022/tree/main/web/safelist/solution), [**@Strellic\_**](https://twitter.com/Strellic\_) podaje przykład, jak użyć **wariacji** techniki **Connection Pool**, aby przeprowadzić **XS-Leak**. W tym wyzwaniu celem jest wykradzenie flagi, która pojawi się w sesji web bota w poście. Oto zasoby, które ma atakujący: * **bot** **odwiedzi** **URL** podany przez atakującego * Atakujący może **wstrzyknąć HTML** na stronę (ale nie JS, używany jest dompurify), nadużywając **CSRF**, co sprawi, że **bot stworzy post** z tym HTML. * Atakujący może nadużyć CSRF, aby sprawić, że **bot** **usunie** **pierwszy** **post** na stronie. * Ponieważ **posty** są uporządkowane **alfabetycznie**, gdy **pierwszy post zostanie usunięty**, jeśli **zawartość HTML** atakującego jest **załadowana**, oznacza to, że była **alfabetycznie przed flagą**. Dlatego, aby ukraść flagę, rozwiązanie zaproponowane przez @Strellyc\_ polega na tym, aby **dla każdego testowanego znaku** sprawić, że bot: * Stworzy **nowy post**, który **zaczyna się** od znanej części **flag** i kilku **załadunków img**. * **Usunie** **post** na pozycji **0**. * Zablokuje 255 gniazd. * Załaduje stronę z postami. * Wykona 5 losowych zapytań do strony (w tym przypadku example.com) i zmierzy czas, jaki to zajmie. {% hint style="warning" %} Jeśli **usunięty** post był **flagą**, oznacza to, że wszystkie **obrazy** **wstrzyknięte** w HTML będą **rywalizować** z **5 losowymi zapytaniami** o to **niezablokowane** gniazdo. Co oznacza, że zmierzony czas będzie większy niż w innym scenariuszu. Jeśli **usunięty** post był **HTML**, **5 losowych zapytań** będzie **szybsze**, ponieważ nie muszą rywalizować o to gniazdo z wstrzykniętym HTML. {% endhint %} ### Exploit 1 To jest kod exploita, pobrany z [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 Ta sama taktyka, ale inny kod z [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 W tym przypadku pierwszym krokiem exploitu było wykorzystanie CSRF do modyfikacji strony, na której znajduje się flaga, aby miała **znacznie więcej treści** (a zatem jej załadowanie zajmuje więcej czasu), a następnie **wykorzystanie puli połączeń do zmierzenia czasu dostępu do strony**, która potencjalnie może zawierać flagę. W exploicie można zobaczyć: * Wykorzystanie CSRF * Zajęcie wszystkich gniazd oprócz 1 * Kalibracja odpowiedzi * Rozpoczęcie bruteforce'u poprzez dostęp do potencjalnej strony z flagą * Potencjalna strona zostanie otwarta, a natychmiast zostanie również otwarty URL kontrolowany przez atakującego, aby sprawdzić, ile czasu zajmują oba żądania. ```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)




``` {% hint style="success" %} Ucz się i ćwicz Hacking AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Ucz się i ćwicz Hacking GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Wsparcie dla HackTricks * Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)! * **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Dziel się trikami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na githubie.
{% endhint %}