CSRF - Spring security

임지원·2024년 6월 10일

CSRF(cross site request forgery)

사이트 간 요청 위조를 뜻한다.
공격자가 사용자가 로그인한 웹사이트에서 사용자가 원하지 않는 동작을 수행하게 하는 보안 취약점이다.

CSRF 공격 개요

  1. 사용자가 로그인 : 사용자가 로그인하면 브라우저에 사용자의 정보가 담긴 쿠키를 저장한다.
  2. 악성 사이트 방문 시 : 악성 사이트는 사용자의 쿠키를 이용해 로그인 한 사이트에 요청을 보낸다.
  3. 서버 처리 : 해당 사이트는 방문자의 요청으로 알고 해당 요청을 수행한다.

Security config에서 csrf를 끄는 이유

api서버를 구축할 때 csrf를 자동으로 방어해주는 기능을 끈다.

그 이유는 해당 기능을 사용 하면 CSRF 토큰을 검사해야한다.
그러나 api서버는 무상태성이고, 권한이 필요한 요청을 위해서 인증(OAuth2, jwt토큰 등)을 포함시키고 있기에 csrf를 위한 설정을 하기 보다 기능을 끄는 편이라고 한다.

무상태성(Stateless)
서버가 클라이언트의 상태를 저장하지 않는다.

profile
백엔드 새싹

0개의 댓글