CSRF (Cross Site Request Forgery)

김도엽·2022년 5월 26일
0

Java Spring Boot

목록 보기
2/10

CSRF

크로스 사이트 요청 위조, XSRF라고도 말한다.
웹 사이트의 취약점을 이용하여 이용자가 의도하지 않은 요청을 통한 공격을 의미한다. 실제 서버에서 받아온 페이지가 아닌 위조된 페이지에서 요청을 보내는 행위이며, 이 행위를 방지하기 위해 서버에 들어온 요청이 실제 서버에서 허용한 요청이 맞는지 확인하기 위해서 토큰을 생성하여 검증한다.

Rest api에서의 CSRF

Spring security documentation에 non-browser clients 만을 위한 서비스라면 csrf를 Disable 해도 좋다고 한다.
이 이유는 Rest api를 이용한 서버라면, Session 기반 인증과는 다르게 Stateless하기 때문에 서버에 인증정보를 보관하지 않는다. Rest api에서 Client는 권한이 필요한 요청을 하기 위해서는 요청에 필요한 인증 정보를(OAuth2, jwt토큰 등)을 포함시켜야 한다. 따라서 서버에 인증정보를 저장하지 않기 때문에 굳이 불필요한 csrf 코드들을 작성할 필요가 없다.

profile
즐거운

0개의 댓글