# 초보자용 익스플로잇으로 Chess.com을 해킹한 방법

> Clean Markdown view of GeekNews topic #13063. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=13063](https://news.hada.io/topic?id=13063)
- GeekNews Markdown: [https://news.hada.io/topic/13063.md](https://news.hada.io/topic/13063.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-01-27T12:34:38+09:00
- Updated: 2024-01-27T12:34:38+09:00
- Original source: [skii.dev](https://skii.dev/rook-to-xss/)
- Points: 2
- Comments: 1

## Topic Body

### 체스닷컴에서의 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. 이 글은 소프트웨어 개발자와 보안 전문가들에게 리치 텍스트 에디터와 같은 웹 애플리케이션 구성 요소의 취약점을 인식하고 이를 방지하기 위한 중요성을 강조함.

## Comments



### Comment 22601

- Author: neo
- Created: 2024-01-27T12:34:38+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=39144906) 
- 원글 작성자(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)을 우회했는지에 대한 설명 요청.
