CSRF
사용자의 권한을 도용하기 위한 수법(공격)

- Cross-Site Request Forgery의 약자로 웹 취약점이다.
- 특정 웹 사이트에서 공격자가 위조 요청을 보내 피해자가 요청에 대한 수행을 하게 되고 공격자는 피해자가 이미 로그인한 상태(세션, 쿠키)를 사용하여 사용자의 권한으로 서버에 요청을 보낸다.
- 결과적으로 서버는 요청자가 인증된 사용자라고 보며, 개인정보가 있는 작업들을 수행하게 된다.
동작
- 피해자가 특정 사이트에 로그인 → 세션/쿠키가 브라우저에 저장
- 공격자가 만든 악성 웹 페이지에 피해자가 접속
- 해당 페이지에 자동으로 요청을 보내는 악의적 코드가 숨겨져 있고
- 브라우저는 기존에 저장된 세션 쿠키를 포함해서 사용자의요청이라고 착각하고 실행한다. → 공격 성공
특징
- 공격 자체는 피해자의 브라우저에서 발생한다.
- 공격자는 사용자의 인증 쿠기나 세션 값을 직접 알 지 않아도 브라이저를 통해 탈취한다.
- 사용자의 권한을 도용하는 해킹 방식이다..
예시
방어
- CSRF 토큰을 사용하여 요청마다 예층 불가능한 토큰을 포함하고 서버에서 검증해야한다.
- Refer / Origin 을 검증
- 세션 쿠키에 SameSite 속성을 결정해두고 다른 사이트에서는 전송되지 않게 설정해둔다.
- 중요 요청에서는 추가인증욜 요구한다. OTP