CSRF
CSRF 어택
로그인 해서 인증된 사용자가 원하지 않은 특정한 액션을 하도록 유도하는 공격. 이메일이나 이미지를 통해 특정 액션을 취하도록 한다. session riding 이라고도 하며 의미 적으로 로그인 된 사용자에 올라타서 권한을 흭득한 후 특정 잡업을 하도록 하는 것이다.
공격 순서
- 헤커가 웹사이트에 특정 행동을 하는 코드를 숨겨 놓는다.
- 이메일이나 채팅을 통해서 희생자에게 해당 웹사이트에 링크를 보낸다. (사이즈가 없는 이미지가 있거나, 눈에는 안보이는 버튼이 있는 형태)
- 희생자도 모르는 사이에 리퀘스트가 날라가고 HTTP Only 로 쿠키 정보가 저장되어 인증을 한다면 자동으로 승인된다.
- 헤커가 직접 쿠키를 가져갈 수 없지만 희생자에게 특정 액션을 취하게 할 수 있게 된다.
방어법
서버로부터 CSRF 토큰을 요청하고, 클라이언트는 CSRF 토큰을 메모리에서 관리될 수 있도록 하여 모든 요청때마나 CSRF 토큰도 같이 보내주도록 한다.