본문 바로가기

SpringSecurity

SpringSecurity(CSRF,CsrFilter)

반응형

https://www.inflearn.com/course/%EC%BD%94%EC%96%B4-%EC%8A%A4%ED%94%84%EB%A7%81-%EC%8B%9C%ED%81%90%EB%A6%AC%ED%8B%B0

 

그림을 보면 사용자가 공격자에게 링크를 전달받고 공격자의 Html로 접속 한경우다 페이지 안에는 현재 사용자가 접속한 쇼핑몰 url 과 공격자 주소를 파라미터로 받게끔 코딩을 해놨다. 쇼핑몰이 발급한 쿠키는 사용자의 브라우저에 저장이 되어있다. 사용자가 링크를 클릭하면 해당하는 쇼핑몰로 요청을 하게되고 현재 사용자는 인증과 인가를 받고 쿠키를 발급 받은 상태이기 때문에 공격자는 정상적으로 사용자의 계정으로 쇼핑몰에 접근이 가능하다. 이방법이 CSRF(사이트 간 요청 위조) 이다 

 

 

Form 인증 - CsrFilter

  • 모든 요청에 랜덤하게 생성된 토큰을 Http 파라미터로 요구
  • 요청 시 전달되는 토큰 값과 서버에 저장된 실제 값과 비교한 후 만약 일치하지 않으면 요청은 실패한다
  • 클라이언트는 토큰명(name="${_csrf.parameterName}") 토큰값(value="${_csrf.token}") 
  • 서버자원에 접근할때는 HTTP메소드(PATCH,POST,PUT,DELETE)로 접근할수 있다.
반응형