# Connection Pool Examples {{#include ../../banners/hacktricks-training.md}} ## Sekaictf2022 - safelist In the [**Sekaictf2022 - safelist**](https://github.com/project-sekai-ctf/sekaictf-2022/tree/main/web/safelist/solution) challenge, [**@Strellic\_**](https://twitter.com/Strellic_)는 **Connection Pool** 기술의 **변형**을 사용하여 **XS-Leak**을 수행하는 방법의 예를 제공합니다. 이 도전에서 목표는 봇의 웹 세션 내의 게시물에 나타날 플래그를 유출하는 것입니다. 공격자가 가진 자산은 다음과 같습니다: - **봇**은 공격자가 제공한 **URL**을 **방문**합니다. - 공격자는 페이지에 **HTML**을 **주입**할 수 있습니다(하지만 JS는 불가능하며, dompurify가 사용됨) **CSRF**를 악용하여 **봇이 그 HTML로 게시물**을 생성하게 합니다. - 공격자는 CSRF를 악용하여 **봇**이 웹 내의 **첫 번째** **게시물**을 **삭제**하게 할 수 있습니다. - **게시물**이 **알파벳 순서**로 정렬되기 때문에, **첫 번째 게시물**이 삭제되면, 공격자의 **HTML** 내용이 **로드**되면 그것이 **플래그보다 알파벳 순서상 앞**에 있었다는 것을 의미합니다. 따라서 플래그를 훔치기 위해 @Strellyc\_가 제안한 해결책은, **테스트할 각 문자에 대해** 봇이: - **플래그**의 알려진 부분으로 **시작하는 새로운 게시물**을 생성하고 여러 **img** **로드**를 합니다. - **위치 0**의 **게시물**을 **삭제**합니다. - 255 소켓을 차단합니다. - 게시물이 있는 페이지를 로드합니다. - 사이트에 대해 5개의 무작위 요청을 수행하고 이 작업에 걸리는 시간을 측정합니다. > [!WARNING] > 만약 **삭제된** 게시물이 **플래그**였다면, 이는 모든 **주입된 이미지**가 **5개의 무작위 요청**과 **차단되지 않은** 소켓을 두고 **경쟁**하게 된다는 것을 의미합니다. 이는 측정된 시간이 다른 시나리오보다 더 길어질 것임을 의미합니다. > > 만약 **삭제된** 게시물이 **HTML**이라면, **5개의 무작위 요청**은 **더 빠르게** 진행될 것입니다. 왜냐하면 그들은 주입된 HTML과 그 소켓을 두고 경쟁할 필요가 없기 때문입니다. ### Exploit 1 This is the exploit code, taken from [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 같은 전술이지만 [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 이 경우 익스플로잇의 첫 번째 단계는 CSRF를 악용하여 플래그가 포함된 페이지를 **훨씬 더 많은 콘텐츠**를 포함하도록 수정하는 것이었고 (따라서 로딩하는 데 더 많은 시간이 걸림), 그런 다음 **연결 풀을 악용하여 플래그가 있을 수 있는 페이지에 접근하는 데 걸리는 시간을 측정**했습니다. 익스플로잇에서 볼 수 있는 내용: - CSRF 악용 - 1개를 제외한 모든 소켓 점유 - 응답 보정 - 플래그가 있는 잠재적 페이지에 접근하여 브루트포싱 시작 - 잠재적 페이지에 접근하고 즉시 공격자가 제어하는 URL에도 접근하여 두 요청이 걸리는 시간을 확인합니다. ```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)




``` {{#include ../../banners/hacktricks-training.md}}