# Verbinding Pool Voorbeelde {{#include ../../banners/hacktricks-training.md}} ## Sekaictf2022 - safelist In die [**Sekaictf2022 - safelist**](https://github.com/project-sekai-ctf/sekaictf-2022/tree/main/web/safelist/solution) uitdaging, [**@Strellic\_**](https://twitter.com/Strellic_) gee 'n voorbeeld van hoe om 'n **variasie** van die **Connection Pool** tegniek te gebruik om 'n **XS-Leak** uit te voer. In hierdie uitdaging is die doel om 'n vlag te exfiltreer wat in die bots web sessie binne 'n pos sal verskyn. Dit is die bates wat die aanvaller het: - Die **bot** sal **besoek** 'n **URL** gegee deur die aanvaller - Die aanvaller kan **HTML** in die bladsy **inspuit** (maar geen JS, dompurify word gebruik nie) deur 'n **CSRF** te misbruik wat die **bot laat 'n pos skep** met daardie HTML. - Die aanvaller kan 'n CSRF misbruik om die **bot** te laat **verwyder** die **eerste** **pos** binne die web. - Omdat die **poste** **alfabeties** georden is, wanneer die **eerste pos verwyder word**, as die **HTML** inhoud van die aanvaller **gelaai** word, beteken dit dat dit **alfabeties voor die vlag** was. Daarom, om die vlag te steel, is die oplossing wat @Strellyc\_ voorgestel het, om, **vir elke karakter om te toets** die bot te laat: - 'n **nuwe pos** te skep wat **begin** met die bekende deel van die **vlag** en verskeie **img** **laai**. - **Verwyder** die **pos** in posisie **0**. - Blok 255 sokke. - Laai die bladsy met die poste - Voer 5 ewekansige versoeke na 'n webwerf (example.com in hierdie geval) uit en meet die tyd wat dit neem. > [!WARNING] > As die **verwyderde** pos die **vlag** was, beteken dit dat al die **beelde** **ingespuit** in die HTML gaan **stryd** voer met die **5 ewekansige versoeke** vir daardie **ongebroke** sok. Wat beteken dat die gemete tyd groter gaan wees as die ander scenario. > > As die **verwyderde** pos die **HTML** was, sal die **5 ewekansige versoeke** **vinniger** wees omdat hulle nie vir daardie sok met die ingespuite HTML hoef te stry nie. ### Exploit 1 Dit is die exploit kode, geneem van [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 Dieselfde taktiek maar verskillende kode van [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 hierdie geval was die eerste stap van die exploit om 'n CSRF te misbruik om die bladsy waar die vlag bevat is, te wysig sodat dit **veel meer inhoud** het (en daarom neem dit meer tyd om te laai), en dan **die verbindingpoel te misbruik om die tyd te meet wat dit neem om toegang tot die bladsy te verkry** wat moontlik die vlag kan hê. In die exploit kan jy sien: - Misbruik CSRF - Beset al die sokke behalwe 1 - Kalibreer die reaksie - Begin bruteforcing deur toegang te verkry tot die potensiële bladsy met die vlag - Die potensiële bladsy sal toeganklik wees en onmiddellik sal 'n aanvaller se beheerde URL ook toeganklik wees om te kyk hoeveel tyd beide versoeke neem. ```htmlStep 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)