ks2colorworld / servercookie-nodejs-svelte

server cookie sample code implemented in nodejs
https://servercookie-nodejs-svelte.vercel.app
0 stars 0 forks source link

브라우저에서 서로 다른 도메인간에 쿠키를 공유하지 못하게 된 이유 #12

Open ks2colorworld opened 6 months ago

ks2colorworld commented 6 months ago
image

쿠키와 CSRF 문제

쿠키에 별도로 설정을 가하지 않으면, 크롬을 제외한 브라우저들은 모든 HTTP 요청에 대해 쿠키를 전송한다. 이러한 특성을 노린 공격이 CSRF(Cross Site Request Forgery)이다.

CSRF 공격 원리를 정리하자면 다음과 같다.

  1. 공격대상 사이트는 쿠키로 사용자 인증을 수행함
  2. 피해자는 공격 대상 사이트에 이미 로그인 되어있어서 브라우저에 쿠키가 있는 상태
  3. 공격자는 피해자에게 그럴듯한 사이트 링크를 전송하고 누르게 함.(공격대상 사이트와 다른 도메인)
  4. 링크를 누르면 HTML 문서가 열리는데, 이문서는 공격 대상 사이트에 HTTP 요청을 보냄
  5. 이 요청에 쿠키가 포함(서드 파티 쿠키)되어 있으므로 공격자가 유도한 동작을 실행할 수 있음
image
ks2colorworld commented 6 months ago
image