관리 메뉴

seok의 패치노트

[Security] csrf Filter 본문

Spring/Security

[Security] csrf Filter

석석's 2022. 1. 2. 14:32

해커가 인증된 클라이언트를 이용하여 자신의 url을 심어 접속을 유도하여 인증된 사용자가 가지고 있는 쿠키정보(세션ID등) 을 가지고 서버에 요청하여 계좌번호나 주민번호등 개인정보를 건들수 있게하는 공격방법이 있다.

이러한 공격 방법을 CSRF(사이트 간 요청위조) 공격이라고 한다!!

 

 

스프링 시큐리티 필터중에 CsrfFilter 는 이러한 csrf 공격을 방어해준다!!

사용자가 서버에 접속당시 인증토큰을 발급하여 서버가 하나 가지고 있고 하나는 클라이언트가 가지고 있게된다.

이후 클라이언트가 서버에 요청할때 발급받은 토큰을 가지고 계속해서 요청해야 csrfFilter를 정상적으로 통과할 수 있게된다!!

 

이렇게 되면 공격자 입장에서는 발급받은 토큰이 없기 때문에 요청시 가로막혀 Access Denied 같은 인증 에러가 발생하게 되어 공격 할 수없게된다.

 

**PostMan으로 API 요청시

 - 발급받은 CSRF 토큰을 헤더에 넣고 요청을 해야한다!! 이때 헤더명은 X-CSRF-TOKEN 이라고 입력하여 요청 해야한다