코딩과로그
CORS는 왜 필요할까? (feat: CSRF 공격 방지) 본문
CORS는 왜 필요할까요?
악의적인 사이트로부터의 공격을 방지하는데에 사용됩니다.
공격의 예시 중 하나로 CSRF 공격이 있습니다. Cross-Site Request Forgery 의 약자인데 일단 무슨 말인지는 차치하도록 하고 공격 예시를 통해 보도록 하겠습니다.
예를 들어, www.good-bank.com 이라는 은행 사이트가 있다고 해봅시다.
사용자는 해당 사이트를 통해서 자신의 은행 잔고 정보를 서버에 요청해 확인합니다.
그런데 만약 www.good-bank.com 와 똑같이 생긴 www.bad-bank.com 이라는 사이트가 있다고 해봅시다. 이 사이트는 마치 자신이 good-bank 사이트 인양 속여서 bank api 서버에 정보를 요청해서 얻어올 수 있지 않을까요?
이를 방지할 수 있는 정책으로 CORS 정책이 있습니다.
cors 정책을 적용하면 www.bad-bank.com에서 온 요청은 무시하고 www.good-bank.com 에서 온 요청만 선택적으로 획득할 수 있게 합니다. (엄밀히 말하자면 서버에서는 정보 전달은 해주지만 브라우저에서 막습니다.)
이를 통해서 www.bad-bank.com 이 www.good-bank.com 와 다르게 정보 전달을 받지 못하기 때문에 악의적 사이트를 통한 정보 탈취를 방지할 수 있습니다.
참조:
1. https://learn.microsoft.com/en-us/aspnet/core/security/anti-request-forgery?view=aspnetcore-7.0
'Devops' 카테고리의 다른 글
OSI 3,4계층 - TCP/IP (IP 프로토콜의 한계) (0) | 2023.04.06 |
---|---|
나의 컴퓨터의 라우팅 테이블 해석 (0) | 2023.03.28 |
특정 기능에 대해 모범적인 REST-API 명세서 작성 (0) | 2023.03.23 |
HTTP 헤더 결과 분석 (0) | 2023.03.22 |
탐구 - DNS 관련 (사설 IP, 공용 IP, DNS 검색 과정 등) (1) | 2023.03.15 |