강의

멘토링

커뮤니티

Inflearn Community Q&A

writer0713's profile image
writer0713

asked

Master the Core of Web Development, HTTP Perfectly!

[Chapter 13. Browser Security] 13.3 Cross-Site Request Forgery (CSRF)

rest api 에서의 csrf

Written on

·

48

1

예제에서 처럼 html 을 response 하지 않고 rest api 를 통해 fe 와 통신하는 경우에도 csrf 를 사용하는 경우가 있을까요? 만약 있다면 어떻게 사용하는지도 알고 싶습니다.

네트워크ajaxhttpscorscookie

Answer 1

0

jeonghwan님의 프로필 이미지
jeonghwan
Instructor

질문 주셔서 감사합니다.

REST API를 사용하는 경우는 두 가지로 생각할 수 있을 것 같아요.

1) 쿠키 기반 인증을 사용하는 API: 브라우져가 서버에게 받은 쿠키를 요청 헤더에 실어 보내는 구조이기 때문에 CSRF 공격에 취약할수 있습니다. 이를 보완하기 위해 CSRF 토큰으로 예방합니다.

2) 토큰 기반 인증을 사용하는 API: 브라우져에서 실행되는 자바스크립트 어플리케이션이 서버에게 받은 토큰 값을 요청 헤더에 '직접' 실어 보내는 구조라서 CSRF 공격에 덜 취약합니다.

하지만 브라우져에서 관련한 보안 조치를 지원하고(실습에서는 브라우져 설정을 변경함), 서버에서 쿠키를 발급할 때 보안 정책을 적용하기 때문에 어느정도 공격에 안전하다고 볼 수 있습니다.

writer0713님의 프로필 이미지
writer0713
Questioner

빠른 답변 감사합니다!

writer0713's profile image
writer0713

asked

Ask a question