1. 정의
- 다른 오리진(cross-site)에서 유저가 보내는 요청(request)을 조작(forgery)하는 것
e.g. 이메일에 첨부된 링크를 누르면 내 은행계좌의 돈이 빠져나감
- 해커가 직접 데이터를 접근할 수 없다.
e.g. 다른 origin 이기 때문에 response에 접근할 수 없음
2. CSRF 공격을 하기 위한 조건
- 쿠키를 사용한 로그인
유저가 로그인 했을 때, 쿠키로 어떤 유저인지 알 수 있어야 함
- 예측할 수 있는 요청/parameter를 가지고 있어야 함
request에 해커가 모를 수 있는 정보가 담겨있으면 안됨
2-1) 예시를 통해 CSRF 공격이 어떻게 이루어지는 지 보자
e.g. GET요청으로 CSRF 공격(계좌이체에 사용되는 GET요청)
GET https://codestatesbank.com/transfer?account_number=username&amount=1000$

username : 김코딩(원래 주인) 계좌 번호 ⇒ 해커 계좌 번호 (해커가 자신 계좌에 돈을 보내도록 만든다)
해커가 김코딩인척 김코딩 브라우저에서 get요청을 보낸다.