CSRF

CSRF 어택

로그인 해서 인증된 사용자가 원하지 않은 특정한 액션을 하도록 유도하는 공격. 이메일이나 이미지를 통해 특정 액션을 취하도록 한다. session riding 이라고도 하며 의미 적으로 로그인 된 사용자에 올라타서 권한을 흭득한 후 특정 잡업을 하도록 하는 것이다.

공격 순서

  1. 헤커가 웹사이트에 특정 행동을 하는 코드를 숨겨 놓는다.
  2. 이메일이나 채팅을 통해서 희생자에게 해당 웹사이트에 링크를 보낸다. (사이즈가 없는 이미지가 있거나, 눈에는 안보이는 버튼이 있는 형태)
  3. 희생자도 모르는 사이에 리퀘스트가 날라가고 HTTP Only 로 쿠키 정보가 저장되어 인증을 한다면 자동으로 승인된다.
  4. 헤커가 직접 쿠키를 가져갈 수 없지만 희생자에게 특정 액션을 취하게 할 수 있게 된다.

방어법

서버로부터 CSRF 토큰을 요청하고, 클라이언트는 CSRF 토큰을 메모리에서 관리될 수 있도록 하여 모든 요청때마나 CSRF 토큰도 같이 보내주도록 한다.