이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 7822|회답: 1

쿠키의 SameSite 속성에 대한 CSRF 공격을 방지하기

[링크 복사]
2022-4-17 20:24:47에 게시됨 | | | |
세이언사이트 자산

Chrome 51부터는 CSRF 공격과 사용자 추적(악의적인 제3자 쿠키 획득)을 방지하고 제3자 쿠키를 제한하여 보안 위험을 줄이기 위해 브라우저 쿠키에 새로운 SameSite 속성이 추가되었습니다.

RFC6265bis에서 정의된 SameSite:하이퍼링크 로그인이 보입니다.

CSRF 공격 요약 소개:

ASP.NET CSRF 공격 Ajax의 캡슐화 요청
https://www.itsvse.com/thread-8077-1-1.html

CSRF 공격을 방지하기 위해 AntiForgeryToken과 함께 mvc ajax를 사용했습니다
https://www.itsvse.com/thread-4207-1-1.html

QQ 퀵 로그인 프로토콜 분석 및 "CSRF" 구현
https://www.itsvse.com/thread-3571-1-1.html
SameSite 속성은 세 가지 값으로 설정할 수 있습니다:엄격, 슬랙스, 없음

엄격한: 제3자가 쿠키를 획득하는 것을 엄격히 금지하며, 크로스사이트 간 어떠한 경우에도 쿠키를 보내지 않습니다; 쿠키는 현재 페이지의 URL이 요청 대상과 일치할 때만 포함됩니다. 이 규칙은 너무 엄격해서 사용자 경험이 매우 나빠질 수 있습니다. 예를 들어, 현재 웹페이지에 GitHub 링크가 있으면 사용자가 클릭 시 GitHub 쿠키를 갖지 못하고, 점프는 항상 로그인되지 않은 상태입니다.

La 공항: 사이트 간 차단, 대부분의 경우 쿠키 획득이 금지되어 있으며, 목적지 URL로 이동하는 GET 요청(링크, 프리로드, GET 폼)을 제외하고; Strict나 Lax가 설정되면 CSRF 공격은 사실상 사라집니다. 물론, 이는 사용자 브라우저가 SameSite 속성을 지원한다는 전제 하에 가능합니다.

SameSite 속성기본 SameSite=lax[이 작업은 2019년 2월 4일 구글이 크롬 80 안정 버전을 출시한 이후의 버전에 적용됩니다]



없음: 한계는 없어.

Secure 속성도 설정되어야 하며(쿠키는 HTTPS 프로토콜을 통해서만 전송할 수 있음), 그렇지 않으면 유효하지 않습니다. [이 작업은 2019년 2월 4일 구글이 크롬 80 안정 버전을 출시한 이후의 버전에 적용됩니다]


SameSite 부동산 테스트

F12 콘솔을 통해 사이트 A의 이미지를 동적으로 불러오는데, 코드는 다음과 같습니다:

네트워크 요청에서 사이트 A가 사이트 A의 도메인 이미지를 요청할 때 다음과 같이 요청할 수 있습니다쿠키 소지(SameSite에는 설정이 없으며, 즉 Lax가 있습니다), 아래 이미지에서 볼 수 있습니다:



무작위로 B 사이트를 찾고, 그 사진을 동적으로 불러와서 찾아냅니다휴대하지 않음아래에 보이는 어떤 쿠키든:



(끝)





이전의:jQuery 숨김은 두 가지 해결책으로 작동하지 않습니다
다음:각도 요소 ngif의 숨겨진 가시성을 표시하고 숨깁니다
2022-4-17 21:20:07에 게시됨 |
배우기 시작해...
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com