본문 바로가기

네트워크

CSRF (Cross Site Request Forgery)란?

CSRF(Cross Site Request Forgery)란 사용자가 자신의 의지와 상관없이 공격자(해커)가 의도한 대로 수정,등록,삭제 등의 행위를 웹사이트에 요청하게 하는 공격이다. (피싱 기반 사용자 간 요청 위조)

이러한 공격을 막기위한 방법이 있다.

1. Referrer 검증

백엔드에서 request의 referrer를 확인하여 도메인이 일치하는지 검증하는 방법이다.

일반적으로 referrer 검증만으로 대부분의 CSRF 공격을 방어할 수 있다.

 

2. Security Token 사용 (A.K.A CSRF Token)

사용자의 세션에 임의의 난수값을 저장하고 사용자의 요청마다 해당 난수값을 포함시켜 전송시킨다.

백엔드에서 요청을 받을때마다 세션에 저장된 토큰값과 요청 파라미터에 전달되는 토큰값이 일치하는지 검증하는 방법이다.