CSRF(사이트 간 요청 위조)

CSRF란?

 

 

  • 공격자가 이미 한 웹사이트의 쿠키를 발급 받은 사용자에게 가짜 웹사이트를 보내서 이미지를 클릭하게 만들 경우, 공격자가 웹 사이트에 사용자라고 인식 하게 만들어 보안을 해지시키는 방법을 말함.

Spring CSRF

 

  • 사용자가 접속 시 인증이된 경로로 들어오는 것인지 확인하여 보안에 대한 문제점을 해결한 방식임. 
  • 사용자가 로그인시 랜덤으로 생성되는 CSRF 토큰을 발행하고 그 값을 사용자가 가짐
  • 사용자가 재 접속시 가지고 있던 CSRF 토큰을 서버에 건내고 서버는 그 값이 자신이 발급한 토큰이 맞는지 확인함.
  • Client 쪽 form에 저장되는 코드
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />

 

  • Spring Security 보안 설정 방법 
http.csrf() : 기본 활성화되어 있음
http.csrf().disabled() : 비활성화