Clelstyn256 2023. 12. 4. 09:43

Cross Site Request Forgery의 약자, 사이트간 요청 위조

웹 보안 취약점의 일종, 사용자도 모르게 해커가 의도한 행위(데이터 수정, 삭제, 등록)를 특정 웹사이트에 요청하게 함

ex) 피해자의 전자메일 주소변경, 자금 이체

특성?에 따라 사용자 계정에 대한 완전한 권한을 딸 수 있다.

CSRF가 성공하기 위한 전제 조건

  1. 이미 로그인이 되어 있어야함.
  2. 서버 세션 정보를 알아야 함.
  3. 서버 요청 방법을 알아야 하고, 예상하지 못한 요청 매개변수가 없어야 함.

진행 과정

  1. 사용자는 보안이 취약한 서버에 로그인
  2. 서버에 저장된 세션 정보를 사용할 수 있는 session ID가 사용자의 브라우저 쿠키에 저장
  3. 공격자는 사용자가 악성 스크립트 페이지를 누르도록 유도

악성 스크립트 페이지를 누르도록 유도하는 방식은 아래와 같은 방식들이 있음.

  • 게시판이 있는 웹사이트에 악성 스크립트를 게시글로 작성하여 사용자들이 게시글을 클릭하도록 유도
  • 메일 등으로 악성 스크립트를 직접 전달하거나, 악성 스크립트가 적힌 페이지 링크를 전달
  1. 사용자가 악성 스크립트가 작성된 페이지 접근시 웹 브라우저에 의해 쿠키에 저장된 session ID와 함께 서버로 요청 됨.
  2. 서버는 쿠키에 담긴 session ID를 통해 해당 요청이 인증된 사용자로부터 온 것으로 판단하고 처리