XS-Search란?

  • 쿼리 기반 시스템을 이용하여 이용자의 비밀 정보를 유출하는 공격
  • 검색 페이지 등에서 중요 정보를 탈취할 수 있는 방법이며, 보통 Response의 응답 값이나 프레임 개수 등으로 Blind SQLi과 비슷하게 수행됨


XSS(Cross-Site Scripting)과 XS-Search(Cross-Site Search) 차이점

  • XSS는 대상 오리진에 반드시 공격자의 입력이 들어가 스크립트를 삽입해야 하고, 피해자가 해당 페이지를 방문해야 함
  • XS-Search는 대상 오리진에 스크립트를 삽입하지 않고, 피해자가 공격자가 의도한 서버에 접속하는 것만으로 SOP를 우회하고 대상 오리진의 비밀 정보를 유출할 수 있음


XS-Search 정리

  • XHR로 요청하면 일반적으로 CORS 에러가 발생하므로 script, img, style 태그 등을 사용해서 SOP를 우회할 수 있음
  • 공격을 수행하기 전에 먼저 SameSite Cookie를 살펴보자
    • Lax면 GET 메소드만 다른 오리진에 요청을 보낼 때 쿠키를 같이 보내고, POST는 쿠키 안보냄
    • Strict로 설정되어 있다면 GET, POST 둘 다 다른 오리진에 요청을 보낼 때 쿠키 안보냄
  • 응답 코드, time 기반, frame 창 갯수 등으로 blind SQLi 와 비슷하게 javascript 코드로 수행됨
    • 코드를 작성할 때 유의할 점은 함수를 비동기로 작성하여 이전 요청이 취소되지 않도록 해야 함

참고

  • https://xsleaks.dev/
  • https://www.hahwul.com/cullinan/xs-leaks/

카테고리:

업데이트:

댓글남기기