Web security & CSRF

zenoan·2021년 2월 20일
0

보안 공격 예 :

  • XSS
  • SQL injection
  • CSRF

CSRF (Cross Site Request Forgery)

  • CSRF는 다른 오리진(cross-site)에서 유저가 보내는 요청(request)을 조작(forge) 하는 것이다
    - 예 : 이메일에 첨부된 링크를 눌러 은행계좌에서 돈이 빠져 나가는 거
  • 기본적으로 해커는 직접 데이터에 접근할 수 없다
    - 다른 오리진이기 때문에 응답(response)에 직접 접근 할 수 없다

어떤 조건에서 CSRF 공격이 가능한가?

  • 쿠키를 사용한 로그인 : 유저가 로그인 했을 때, 쿠키로 어떤 유저인지 알 수 있다
  • 예측할 수 있는 요청(request) / parameter를 가지고 있어야 한다 : request에 해커가 모를 수 있는 정보가 담겨 있으면 안된다.
  • 공격방법은 어떻게 보면 간단하다


CSRF는 어떻게 막나?

  • Token 사용하기
    - 서버측에서 CSRF 공격에 보호하기 위한 문자열을 유저의 브라우저와 웹 앱에만 제공
  • Same-site cookie 사용하기
    - 같은 도메인에서만 session/cookie를 사용할 수 있게 한다
profile
프론트엔드 개발자

0개의 댓글