- CORS
- CORS란
- CORS는 웹 브라우저가 동일 출처 정책(Same-Origin Policy)을 위반하지 않고 다른 출처의 리소스에 접근할 수 없도록 허용하는 메커니즘
- 이는 웹 애플리케이션이 다른 도메인에서 실행 중인 서버와 안전하게 상호작용할 수 있도록 하기 위해 사용
- CORS의 원리
- 브라우저는 다른 출처의 리소스에 접근할 때 HTTP 요청 헤더에 Origin을 포함하고, 서버는 요청을 받은 후, Access-Control-Allow-Origin 헤더를 통해 허용된 출처를 응답
- 구체적으로는, 브라우저에서는 OPTIONS 메소드를 사용하여 실제 요청 전에 브라우저가 서버의 허용 정책을 확인하는 사전 요청을 보내고, 서버가 허용여부를 응답
- CORS 정책을 판단하고 접근금지하는 것은 브라우저의 역할
- csrf
- CSRF는 사용자가 의도하지 않은 요청을 다른 웹사이트에 보내도록 속이는 공격
- 공격자는 사용자의 권한을 이용하여 원치 않는 행동을 수행하게 만드는것으로 일반적으로 쿠키에 담긴 값을 활용
- csrf상황 예시
- 사용자가 웹사이트 A에 로그인한 상태에서, 공격자가 만든 악의적인 웹사이트 B를 방문
- 웹사이트 B는 사용자의 인증 정보를 사용하여 웹사이트 A에 요청을 보내고, 사용자는 요청이 자동으로 실행
- csrf 방어기법
- 서버는 각 사용자 세션마다 고유한 CSRF 토큰을 생성하여 폼에 포함하고, 서버는 요청마다 해당 토큰의 유효성을 검증