먼저, 웹 인증에서 가장 중요한 개념 두 가지 쿠키와 세션을 정리해 보았다.
쿠키
쿠키(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 |