WebSocket Origin 미검증 CSRF (WEB-39)

WEB-39 WebSocket CSRF

WebSocket Origin 미검증 CSRF:
WebSocket 핸드셰이크에서 Origin 헤더가 검증되지 않으면, 다른 도메인의 페이지에서 WebSocket 연결을 열 수 있고, 자동으로 브라우저 쿠키가 전송되어 CSRF 공격이 가능합니다.

WebSocket 핸드셰이크 시뮬레이션

WebSocket 핸드셰이크

⚠️ CSRF 취약점 감지! Cross-Origin에서의 WebSocket 연결이 허용되었습니다.
이를 통해 다음과 같은 공격이 가능합니다:
WebSocket 핸드셰이크 요청:
GET /chat HTTP/1.1
Host: localhost:8000
Upgrade: websocket
Connection: Upgrade
Origin: unknown
Sec-WebSocket-Key: b432a245560e8057
Sec-WebSocket-Version: 13

응답:
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: [base64(SHA1(key + GUID))]