2P by neo 6달전 | favorite | 댓글 1개

체스닷컴에서의 XSS 발견

  • 체스를 취미로 즐기며 기술을 가지고 놀던 중, 체스닷컴에서 XSS 취약점을 발견함.
  • 체스닷컴은 1억 명 이상의 회원을 보유한 인터넷 상의 최대 체스 사이트임.

개요

  • 2023년 초 체스닷컴에서 많이 놀기 시작함.
  • 친구를 사이트에 가입시키고 친구 기능을 사용하여 즉시 친구가 됨.
  • MySpace 웜과 유사한 방식으로 자동 친구 추가가 가능한지 궁금해짐.
  • 새 계정을 만들고 개발자 도구의 네트워크 탭을 확인하여 자동 친구 추가 URL을 발견함.

중반 게임

  • TinyMCE 리치 텍스트 에디터를 사용하여 XSS를 시도함.
  • Burp 프록시를 사용하여 'About' 설명에 직접 HTML 코드를 삽입함.
  • TinyMCE 설정을 확인하고 background-image 스타일 속성을 이용하여 XSS 페이로드를 생성함.
  • 여러 기호를 테스트하여 XSS를 실행하는 방법을 찾아냄.
  • 최종적으로 쿠키와 자바스크립트 객체를 추출할 수 있는 방법을 개발함.

엔드게임

  • XSS를 완전히 실행하기 위해 노력함.
  • srcset 속성을 이용하여 더 넓은 JS 구문을 사용할 수 있는 새로운 방법을 찾아냄.
  • Base64 인코딩을 사용하여 XSS 페이로드를 직접 실행함.
  • TinyMCE 에디터가 사이트 전반에 사용되고 있어 영향이 큼.

분석

  • 취약점의 근본 원인은 이미지 재업로드 기능임.
  • 체스닷컴의 도메인 이름을 포함하여 이미지 호스팅 검사를 우회할 수 있음.
  • 리치 텍스트 에디터는 다양한 HTML 요소를 허용하기 때문에 XSS를 달성하기에 좋음.
  • TinyMCE는 최신 상태였으나, 최종 HTML에 대한 살균 처리가 누락됨.
  • 체스닷컴은 사용자에게 보여지는 최종 HTML에 대해 살균 처리를 해야 함.

GN⁺의 의견:

  1. 이 블로그 포스트는 체스닷컴과 같은 대규모 온라인 플랫폼에서 발생할 수 있는 보안 취약점을 발견하고 이를 보고하는 과정을 흥미롭게 설명함.
  2. XSS 취약점은 웹사이트의 보안에 심각한 위협이 될 수 있으며, 이러한 취약점을 찾아내고 해결하는 것은 웹사이트 사용자의 개인정보 보호에 매우 중요함.
  3. 이 글은 소프트웨어 개발자와 보안 전문가들에게 리치 텍스트 에디터와 같은 웹 애플리케이션 구성 요소의 취약점을 인식하고 이를 방지하기 위한 중요성을 강조함.
Hacker News 의견
  • 원글 작성자(OP) 소개 및 배경 정보

    • 17세 영국 학생으로 A-Levels을 수행 중이며 대학과 학위 견습 옵션을 고민 중임.
    • GitHub 프로필에서 HashPals의 핵심 멤버이자 Search-That-Hash의 창작자, ReMarkable 태블릿용 무료 소프트웨어 오픈소스 저장소의 유지 관리자임을 확인할 수 있음.
    • lichess.org에 대한 긍정적인 평가와 기술적 관심사 공유에 대한 언급이 있음.
  • MySpace 웜과 관련된 기능에 대한 댓글

    • 2005년경의 MySpace 웜을 언급하며, 작성자는 당시 태어나지 않았음을 밝힘.
    • 다른 사용자가 자신의 체스 게임에서 움직임을 통제하는 현상을 목격하고 기록했으며, chess.com에서 이 문제를 보고했으나 해결되지 않았음을 지적함.
  • XSS 취약점과 관련된 기술적 질문

    • PHPSESSID 쿠키가 HttpOnly가 아닌 이유와 알려진 XSS 취약점이 왜 수정되지 않았는지에 대한 의문 제기.
    • XSS 버그 바운티 보고서에 대한 관심과 그 과정의 어려움에 대한 인식 표현.
  • chess.com의 리치 텍스트 에디터에 대한 의견

    • 리치 텍스트 에디터를 "성배"라고 부르는 것에 대한 재미있는 반응과, 큰 웹사이트임에도 불구하고 이러한 기능이 취약점을 가질 수 있다는 우려 표현.
  • 기술적 약어에 대한 질문

    • "OSRF"의 의미에 대한 질문과 이것이 CSRF와 유사한 "Own-Site Request Forgery"를 의미하는지에 대한 추측.
  • 서브도메인 리다이렉션과 관련된 기술적 질문

    • 서브도메인(chess.com.foo.bar)에서의 리다이렉션이 어떻게 동일 출처 정책(same-origin policy)을 우회했는지에 대한 설명 요청.