본문 바로가기

드림핵

[워게임] session-basic 관련 내용 "쿠키와 세션", "주소창과 DevTools"

먼저, 웹 인증에서 가장 중요한 개념 두 가지 쿠키와 세션을 정리해 보았다.

 

쿠키

쿠키(cookie): 브라우저에 저장되는 작은 조각의 데이터(클라이언트 측 저장소)

-> 서버(또는 JS)가 브라우저에 저장하도록 지시하는 작은 키=값 쌍.

Set-Cookie 응답 헤더로 설정.

이후 요청마다 브라우저가 Cookie 헤더로 서버에 보냄.

 

 

세션

세션(session): 서버가 사용자를 구분하기 위해 관리하는 상태

-> 서버가 사용자별로 유지하는 정보(예: 로그인 상태, 권한 등).

보통은 서버가 세션 ID를 발급하고 그 ID를 쿠키로 클라이언트에 줌.

서버는 그 ID로 내부 세션 저장소에서 사용자 상태를 조회.

 

-- 보안 관점에서는 세션 아이디(쿠키에 담길 때가 많음)가 임시 비밀번호 라는 걸 알아야 한다. 

 

 

취약점/공격 유형

 

세션 하이재킹(Session Hijacking): 네트워크 스니핑(비암호화 HTTP)이나 XSS로 쿠키 탈취 -> 탈취한 세션ID로 로그인 세션 탈취.

세션 고정(Session Fixation): 공격자가 미리 발급한 세션 ID를 피해자에게 사용하게 유도 -> 피해자가 로그인하면 공격자가 동일한 세션 ID로 권한 획득.

세션 저장소 노출: 서버가 세션 스토어를 외부로 노출하면 누구나 admin 세션을 획득.

예측 가능한 세션 ID: 랜덤성이 부족하면 공격자가 세션 ID를 추측 가능.

CSRF: 세션 쿠키가 자동으로 전송되는 특성을 이용해 사용자의 권한으로 요청을 실행.

 

 

 

 

 

 

추가로, 웹취약점 실습에서 많이 쓰이는 주소창 개념과 브라우저 개발자도구(DevTools) 활용법을 정리해 보았다.

 

 

주소창

 

URL 구성 요소 (예시: https://host3.dreamhack.games:21149/path/page.php?q=1#sec)

 

 

스킴(Scheme): https 또는 http — 프로토콜, 보안 여부(https = 암호화)

호스트(Host): host3.dreamhack.games — 도메인 또는 IP

포트(Port): 21149 — 기본 포트(HTTP:80, HTTPS:443) 외의 포트가 있을 때 표기

경로(Path): /path/page.php — 서버의 리소스 위치

쿼리(Query): ?q=1&x=2 — GET 파라미터들

프래그먼트(Fragment): #sec — 클라이언트 측 앵커(서버로 전송되지 않음)

 

 

활용 방법

 

직접 경로/파라미터 변경: .../admin → .../admin?debug=1 등으로 엔드포인트 바로 호출.

포트 변경: host:21149 → host:8000로 바꿔 로컬과 문제 서버 테스트

HTTP ↔ HTTPS 전환: http://로 바꿔서 보안 경고/리다이렉트 동작 확인

URL 인코딩: 특수문자 포함 시 encodeURIComponent()로 인코딩 필요

히스토리 조작(테스트용): javascript: 스킴으로 간단한 스크립트 실행(개발/학습용으로만)

경로 탐색: 상위 디렉터리 ../ 시도(파일 노출 취약점 테스트 시 주의)

Host 헤더와 주소창은 다름: 브라우저 주소창에 쓴 도메인과 HTTP 요청의 Host 헤더는 대개 같지만 프록시/리다이렉트/Host 헤더 조작은 별개(서버측에서 검사 필요)

 

 

 

 

개발자 도구 . DevTools (단축키 F12)

 

주요 탭

 

 

Elements: DOM/스타일 실시간 편집 - HTML·CSS 구조 확인/수정

Console: JS 실행, console.log, document.cookie 확인/명령 실행

Network: 모든 요청/응답(헤더·응답바디·타이밍) 모니터링, 재전송, 페이로드 확인

Application (Storage): 쿠키·LocalStorage·SessionStorage·IndexedDB·서비스워커 등 클라이언트 저장소 관리. (쿠키 추가/편집 가능)

Sources: JS 파일/브레이크포인트 디버깅, 파일 편집(임시), 스크립트 흐름 디버깅

Security: TLS/인증서 상태, Mixed Content 정보

Performance / Memory: 성능 프로파일링, 메모리 누수 탐지

Lighthouse: 접근성·성능·SEO 자동 진단(테스트용)

 

 

 

 

 

 

'드림핵' 카테고리의 다른 글

[워게임] session-basic  (0) 2025.09.29
[드림핵] 워게임 WindowsPool  (0) 2025.08.25
[워게임] BMP Recovery  (1) 2025.08.18
[드림핵] 워게임 Enc-JPG  (3) 2025.08.05
[드림핵] 워게임 structure-based carving  (4) 2025.07.28