서버에서 Set-Cookie 를 이용해 쿠키를 발행할 때 쿠키에 부여할 수 있는 속성 중 하나.
Set-Cookie: mycookie=a3b2d2d4d; SameSite=Lax
SameSite 에는 다음과 같은 3가지 옵션이 가능하다.
CSRF 공격 시나리오
1. 사용자가 해커의 사이트를 방문한다.
2. 방문과 동시에 사용자의 블로그 사이트에 비밀번호 변경요청을 보낸다.
3. 쿠키가 같이 붙어서 요청이 되므로 사용자의 패스워드가 변경되었다.
어째서 이러한 공격이 가능했을까를 생각해보면 다음과 같다.
public suffix 를 기준으로 한 단계 하위 도메인까지만 확인해서 같으면 same site 라고 정의한다. 이 방식을 first-party context 라고 한다. 여기서 public suffix 란, .com, .net 과 같은 것들을 말한다.
https://www.google.com:443/path/page.html
|P.S|
<a href=""> / document.location 로 최상단 window 에서 다른 사이트로 이동할 때 쿠키값을 붙여서 해당 사이트로 이동된다Lax 가 기본값으로 설정되어 있지만 예외적으로 form 태그를 이용한 POST요청은 cross-site 일 경우에 쿠키전송이 된다.
SameStie cookies explained / SameSite Cookie Attribute / CSRF