정보보안

CSRF 란

53C 2020. 9. 1. 18:04
반응형

CSRF

Cross-site Request Forgery

사이트 간 요청 위조

를 말한다.

 

클라이언트로부터 요청(request)에 대해서 정상 여부인지 검증하지 않는 경우 취약하다.

 

공격과정

 

클라이언트 와 서버 사이의 쿠키를 획특

쿠키 값을 이용해서 로그인

 

방어방법

 

Referer 검증

해당 요청에대한 referer를 확인하여 도메인이 일치 하는지 검증하는 ㅂㅇ식이다.

 

CSRF Tockn 사용

랜덤함 수를 사용자의 세션에 저장하여 모든 요정에 대하여 서버에서 검증하는 방식

 

CAPTCHA 사용

자동등록 방지 프로그램을 사용한다.

 

%선행지식

GET방식과 POST 방식

클라이언트가 서버로 요청을 했을떄, 보내는 데이터를 HTTP패킷이라고 한다.

웹 어플리케이션이 서버츳에서 정의한 방식으로 클라이언트 웹 서버 자원에 요청을 한다.

 

GET방식

클라이언트의 데이터를 URL뒤에 붙여서 보낸다.

특징

헤더 내용중에 BODY가 빈상태로 전공이 된다.

URL형태로 표현되므로, 특정 페이지를 해커가 접속이 가능하다.

데이터를 보내는양에 한계가 있다.

Content-Type이라는 헤더필드는 들어가지 않는다.

 

POST 방식

클라이언트 데이터를 BODY에 넣어서 보내게 된다.

BODY에 데이터를 넣어서 보내게 된다.

Content-Type이라는 헤더필드가 들어간다.

 

세션과 cookie방식 Token 기반 인증

-----------------------------------------------------

클라이언트 서버

로그인+쿠키 생성) -> 확인 쿠키저장

쿠키+요청 -> 쿠키인증+응답

====================================================

로그인 -> 세션 아이디 생성

<- 세션 아이디 전송

섹션+요청 -> 세션확인+응답

====================================================

로그인 -> 세션ID 생성

<- 토큰 발급

토큰+요청 -> 토큰인증+응답

 

세션의 경우 웹 어플리케이션의 메모리에 저장이 되기 때문에 안전하다.!

토큰의 경우 세션 정보가 서버에 저장하며 사용자가 토큰을 메모리에 가지고 있다.

 

?토큰은 세션과 cookie를 합친 하이브리드 방식인가?

 

HTTP 리퍼러(HTTP referer)는 웹 브라우저로 월드 와이드 웹을 서핑할 때, 하이퍼링크를 통해서 각각의 사이트로 방문시 남는 흔적을 말한다

반응형