웹세션과 쿠키의 이해
개요
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는 받은 쿠키 값을 가지고 접속을 메인 페이지를 받아온다.
서버는 인증을 확인한 후 페이지를 로드시킨다.
'IT > Network' 카테고리의 다른 글
웹 세션 (Web Session) - 세션 토큰이란? (0) | 2022.08.25 |
---|---|
HSRP(Hot Standby Routing Protocol) 구성연습 (0) | 2022.08.25 |
[Network Hacking] Source port binding :: 공격자 IP 변경 (0) | 2022.08.24 |
[Router] 라우터 배너 설정하기 (0) | 2022.08.22 |
IP 주소 추적에 대한 이해 (0) | 2022.08.04 |