Authentication - CSRF

Verba volant, scripta manent·2021년 4월 14일
0

CSRF란?

풀네임 Cross Site Request Forgery.
다른 오리진(cross-site)에서 유저가 보내는 요청(request)를 조작(forgery)하는 것으로 다른 오리진이기 때문에 해커가 직접 response에 접근할 수 없다는 특징이 있다.

CSRF 공격을 하기 위한 조건

1 . 쿠키를 사용한 로그인

유저가 로그인 했을 때 쿠키로 어떤 유저인지 알 수 있어야 한다.

2 . 예측할 수 있는 요청/parameter를 가지고 있어야 한다.

request에 해커가 모를 수 있는 정보가 담겨있으면 안된다.

CSRF 방어 방법

1 . CSRF 토큰 사용하기

서버측에서 CSRF 공격에 보호하기 위한 토큰 문자열을 유저의 브라우저와 웹 앱에만 제공해서 이 조합으로 생성된 요청에만 성공적으로 요청을 완료해준다.

같은 도메인에서만 세션/쿠키를 사용할 수 있다.

profile
말은 사라지지만 기록은 남는다

0개의 댓글