CSRF

김동현·2021년 8월 18일

Authentication

목록 보기
5/7

Web application Security

개발자들이 웹사이트, 모바일 어플, 웹 API 등을 만들 때에 해커들의 공격을 막기 위해서 보안(security)은 필수 사항

  • 여러가지 공격들
    • SQL injection
    • XSS
    • CSRF

CSRF(Cross Site Request Forgery)

  • 다른 사이트에서 유저가 보내는 요청(request)을 조작(forgery)하는 것
    ex) 이메일에 첨부된 링크를 누르면 내 은행계좌의 돈이 빠져나감
  • 해커가 직접 데이터를 접근할 수 없다.
    ex) 다른 오리진이기 때문에 response에 직접 접근할 수 없다.

CSRF 공격을 하기 위한 조건

  • 쿠키를 사용한 로그인
    유저가 로그인 했을 때, 쿠키로 어떤 유저인지 알 수 있어야 한다.
  • 예측할 수 있는 요청 / parameter를 가지고 있어야 한다.
    request에 해커가 모를 수 있는 정보가 담겨있으면 안된다.

CSRF 막는 방법

  • CSRF 토큰 사용하기
    서버측에서 CSRF 공격에 보호하기 위한 문자열을 유저의 브라우저와 웹 앱에만 제공한다.
  • Same-site cookie 사용하기
    같은 도메인에서만 세션 / 쿠키를 사용할 수 있다.
profile
개발자로서의 첫걸음

0개의 댓글