[드림핵-웹] Cookie & Session

스근한국밥한그릇·2024년 10월 4일
0

DreamHackWeb

목록 보기
1/3

1. Defintion

1-1. What is HTTP

Hyper Text Transfer Protocol

  • 하이퍼텍스트 링크 사용해 웹 페이지 로드 하는데 사용
  • Connectionless : 하나의 요청에 하나의 응답을 한 후 연결 종료
  • Stateless : 통신이 끝난 후 상태 정보를 저장하지 않는 것을 의미

HTTP에서 상태 유지하기 위해 사용하는 Key-Value 형태의 값

  • 취약점
  1. 클라이언트 요청에 포함되는 정보로써 이용자가 임의로 조작 가능
  2. 서버 별다른 검증 없이 이용자 요청에 포함된 쿠기 신뢰하여 이용자 인증 식별 할 경우 쿠키에 타 계정 정보 삽입해 계정 탈취 가능

1-3. What is Session

Cookie의 취약점을 개선하기 위한 방안

  • 인증 정보를 서버에 저장하고 해당 데이터에 접근할 수 있는키를 만들어 클라이언트에 전달 (사용자는 해당 키를 이용해 인증 가능)
  • 세션 하이재킹 : 타 이용자의 쿠키 훔쳐 인증 정보를 획득하는 공격


2. Explanation

1. Python 파일을 열어보면 해당 내용을 확인할 수 있다.

  • dictionary 형태 ID : PW를 저장해놓음



2. 리턴값 확인

  • cookie의 'username'을 가져와 "admin"인 경우 flag Return


3. guest로 로그인시 화면





4. guest값을 admin으로 변경



5. flag 획득



2-2 Session

1. Python 파일 확인

  • dictionary 형태로 ID : PW 확인 가능


2. guest로 로그인 후 쿠키 확인

  • 쿠키에 sessionid, username 확인 가능


3. 코드 확인

  • /admin route 정보 확인


4. 접속

  • 정보 확인 가능
  • 해당 문자열을 cookie의 sessionid에 집어 넣어봄


5. flag 획득

profile
항상 든든하게 코딩 한그릇🧑‍💻🍚

0개의 댓글