exon
XS-Leak 취약점 탐구 (5) 본문
다음과 같이 CTFd에서 플래그를 제출한 사람의 목록과, 그 제출한 플래그들이 어드민의 계정에서 볼 수 있다.
심지어 검색기능까지 갖추었다.
하지만 이건 어디까지나 어드민을 위한 기능이므로, XS-Leak 취약점을 사용하는 목적은 어드민이 아닌 사람이 어드민에게 특정한 사이트를 방문하게 하는 방법등을 통하여 우회적으로 그 기능을 이용하는 것이다.
하지만 이러한 검색결과는 iframe으로 작성되지도 않아서 앞서 언급한 Framing Count 방법을 쓸 수도 없다. 그저 <td> 일 뿐이다.
근데 여기서 주목할 만한 점이 발견된다. 바로 page 파라메터다. page 파타메터로 검색된 플래그 개수가 많아지면 그 일정한 개수마다 page가 생긴다. 근데 그 일정한 개수를 채우지 못해서 페이지가 없다? 그러면 404에러가 뜬다. XS-leak에서 404 에러와 200 성공은 굉장히 중요한 해킹 요소가 될 수 있는데, 왜냐하면 브라우저에서 검색기록에 404에러가 뜬 사이트는 추가하지 않고, 200성공이 발생한 사이트는 검색기록에 추가하기 때문이다. 즉, 만약 어드민에게 다음과 같은 페이지를 모두 접속시키면, 다음과 같은 상황이 발생한다.
바로 실제로 검색되는 플래그의 특정 페이지가 존재(404가 아닌)하는 검색어에만 색깔이 다르게 된다.
몇년 전까지만 하더라도 css에서 :visited selector로 접속된 페이지의 url을 나타내는 a 태그에 엄청난 리소스를 추가해서 접속기록이 없는 페이지와 다르게 그 페이지의 링크를 로드할 때 많은 시간이 걸리는 것으로 정보를 유출시키는 매우 매력적인 방법이 있었는데, https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_selectors/Privacy_and_the_visited_selector 에서와 같이 많은 개인정보문제가 있어서 현대 브라우저에서는 잘 작동하지 않는다.
하지만!! 저걸 아래 사이트와 같이 캡챠 형식으로 어드민이 이것이 정보 유출인지도 모르고 직접 색깔이 다른 것을 클릭하게 만들 수 있다! https://varun.ch/posts/history (지금은 파이어폭스만 잘되는거 같다)
이것이 바로 이런 시나리오를 이용한 PoC이다
'1인1프로젝트' 카테고리의 다른 글
XS-Leak 취약점 탐구 (7) (4) | 2025.06.11 |
---|---|
XS-Leak 취약점 탐구 (6) (0) | 2025.06.11 |
XS-Leak 취약점 탐구 (4) (0) | 2025.04.24 |
XS-Leak 취약점 탐구 (3) (0) | 2025.04.15 |
XS-Leak 취약점 탐구 (2) (0) | 2025.03.24 |