본문 바로가기

카테고리 없음

보안 script-injection / csrf-token & Form

장고/

등 라이브러리나 프레임워크 장점

 

csrf 공격

사용자의 의도와는 다르게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 만드는것

ex) 블로그에 광고성 글이 자동으로 올라가짐

이 공격은 사용자의 계정(권한)을 도용하여 마음대로 행위를 하는 것

 

 csrf 공격 방법

사용자가 페이스북에 로그인한 상태로 웹서핑을 하다가, 해커가 만든 웹사이트에 접속했다.

근데 그 웹사이트에는 브라우저의 쿠키정보나 로컬스토리지 정보를 읽어오는 스크립트가 있었던 것!

 

해커는 이 인증정보들을 사용하여 사용자의 권한을 도용할 수 있다.

 

csrf 방어방법

csrf 공격은 데이터 변경이 가능한 post, patch, delete 메소드에만 적용을 해두면 된다.

 

1) Referrer 검증 : 백엔드에서 헤더의 Referrer를 확인하여 도메인이 일치하는지 확인한다. -> 같은 도메인안에서 탈취하고 요청을 보낼시 캐치 못함

2) CSRF 토큰 사용 : 백엔드에서 사용자의 세션에 임의의 난수값을 보내고, 브라우저가 저장한다. 이후 요청시마다 해당 난수값을 포함시켜 전송한다. 백엔드에서는 요청을 받을 때마다, 세션에 저장한 값과, 요청시 받은 값을 비교한다.