IT/Network

웹세션과 쿠키의 이해

김반장님 2022. 10. 5. 17:36
반응형
웹세션과 쿠키의 이해

 

 

개요

  HTTP 프로토콜은 TCP를 기반으로 동작하지만 브라우저 측에 컨텐츠를 모두 전달한 후에는 3Way-H.S 을 통해 맺은 네트워크 기반 세션을 종료(4Way-H.S을 이용) 시킨다. 때문에 서버 입장에서는 간헐적으로 접근하는 클라이언트 브라우저들을 구분할 수 있는 구분자가 필요하다. 오늘날의 웹 어플리케이션은 이를 "쿠키"를 통해 구현하고 있다. "쿠키"는 HTTP 요청 메시지에 포함되어 있는("Cookie:blah") 헤더의 일부이며 브라우저가 해당 서버에 처음 방문 할 경우 서버의 응답 메시지에 의해서 할당 된다.("Set-Cookie:blah")

 

웹세션 및 쿠키의 동작 원리 이해

Step1. BT5의 Firefox를 Paros 혹은 Burp와 연동한 후 Windows 2000 에 구동중인 사이트에 방문한다. 방문할 때 발생되는 요청 메시지를 프록시 도구에서 Trap한다.

Step2. 요청 헤더를 보면 Firefox 브라우저가 이번에 서버로부터 할당 받은 쿠키 값을 포함 시켜서 전달하는 것을 확인할 수 있다. 프록시 도구에서 요청헤더에 있는 "Cookie:blah" 부분을 삭제한다. 그러면 서버는 처음 방문한 브라우저라고 인식하여 응답 메시지에 쿠키 값을 포함시킨다.

Step3. 서버에게 쿠키 값을 할당 받은 브라우저는 이후 해당 사이트에 방문할 때 할당받은 쿠키 값을 요청 메시지에 포함시킨다.

 

실습 BT5(172.16.10.10), win2K(172.16.10.80)

Step1. BT5에서 win2K의 webhack  서버로 접속을 시도한다. 기존에 접속한 기록이 있기때문에 쿠키가 입력되어 접속을 시도한다.

기존 접속한 기록에 이용된 쿠키값

 

쿠키를 삭제한 후 forward하여 접속을 하면 서버측에서는 cookie값을 할당하여 클라이언트로 응답하게 된다.

쿠키 삭제 후 서버에 연결 시도

 

 

처음 쿠키를 삭제한 후 서버로 접속 시도를 하는 패킷이다.

 

서버는 쿠키값을 할당하여 BT5(172.16.10.10)에 할당한다.

쿠키 할당

 

쿠키 값을 할당 받은 BT5는 받은 쿠키 값을 가지고 접속을 메인 페이지를 받아온다.

쿠키 값을 이용하여 서버 연결시도

 

서버는 인증을 확인한 후 페이지를 로드시킨다.

 

 

 

반응형