본문 바로가기
웹 해킹/웹 해킹 개념

세션변조

by sonysame 2018. 2. 9.

참고 사이트

http://unabated.tistory.com/entry/4-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B3%80%EC%A1%B0-%E2%80%93-%EC%84%B8%EC%85%98-%EB%B3%80%EC%A1%B0%EB%A5%BC-%ED%86%B5%ED%95%9C-%EB%B6%88%EB%B2%95-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EC%B6%9C%EC%B2%98-4-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B3%80%EC%A1%B0-%E2%80%93-%EC%84%B8%EC%85%98-%EB%B3%80%EC%A1%B0%EB%A5%BC-%ED%86%B5%ED%95%9C-%EB%B6%88%EB%B2%95-%EB%A1%9C%EA%B7%B8%EC%9D%B8%EC%9E%91%EC%84%B1%EC%9E%90-%EC%BA%94%EC%8B%9C%EC%98%A8


세션이란?


HTTP 프로토콜은 상태가 없는 stateless의 특성을 가진다.

기본적으로 연결을 유지하지 않는 HTTP프로토콜을 유지시킬 수 있는 방법은 없다.

따라서 서버의 입장에서 보면 방금 요청한 클라이언트가 이전에 요청했던 놈인지 알 방법이 없다.


즉, HTTP 프로토콜 특성 상 클라이언트를 식별하는 별다른 방법이 있을 수 없다.

그래서 이전에는 쿠키에 데이터들을 저장하곤 했다.

또한 회원 기반의 웹 사이트들은 사용자로 하여금 회원가입을 받고 로그인이라는 과정을 통해 특정 클라이언트를 식별하기도 한다.


이 로그인이라는 과정에서 세션이라는 특수한 쿠키를 사용하게 된다.

쿠키란 사용자(클라이언트)의 컴퓨터에 저장되어 웹 서버로 요청 시마다 HTTP헤더에 포함되어 전송되는 데이터를 말한다.


클라이언트는 id와 pw를 입력하여 서버로 로그인을 요청한다.

서버는 유효한 사용자인 경우 서버 자신의 메모리에 유일한 세션 ID를 저장한다.

또한 클라이언트에게도 동일한 세션 ID를 쿠키로 저장한다.


클라이언트의 다음 요청 시 이 세션 ID가 서버로 전송되며 서버는 저장되어 있던 세션 ID와 비교하여 해당 클라이언트를 식별한다. 이렇게 하여 특정 클라이언트의 상태를 알 수 있는 구조이다.


세션은 서버와 클라이언트에 동시에 저장되는 쿠키이며 이 쿠키는 변조될 수 있으며 이는 결국 세션의 변조를 통해 유요한 사용자가 아니라 해도 로그인을 할 수 있게 된다는 결론에 도달한다.


쿠키값을 가로채는 방법->XSS와 같은 공격 유형


'웹 해킹 > 웹 해킹 개념' 카테고리의 다른 글

XSS 연습  (0) 2018.02.10
XSS 크로스 사이트 스크립팅  (0) 2018.02.10
sql에서 연산자의 우선순위  (0) 2018.02.09
blind sql injection  (0) 2018.02.09
SQL인젝션  (0) 2018.02.08