도구별로 따라 하는 첫 실습
설치 위치부터 첫 요청의 결과 확인까지, 도구마다 별도의 순서로 안내합니다.
공통 실습 대상
정상 요청 관찰의 GET·POST 버튼과 /api/web/basics/http 경로를 사용합니다. 먼저 정상 요청을 보내고 메서드·쿼리 또는 본문·상태 코드·쿠키를 관찰하세요. 이 사이트의 교육용 경로에서만 요청을 시험하고, 실제 세션 값은 기록이나 공유 문서에 넣지 마세요.
01 / NETWORK · ELEMENTS
브라우저 개발자 도구
설치 없이 Network, Application, Elements, Console을 순서대로 살펴봅니다.
Chrome에 내장 · 별도 도구 설치 불필요개별 안내 보기 →02 / PROXY · REPEATERBurp Suite
내장 브라우저로 요청을 기록하고 Repeater에서 한 필드씩 바꿔 응답을 비교합니다.
설치 필요 · Community Edition으로 시작개별 안내 보기 →03 / COMMAND LINEcurl
터미널에서 단건 HTTP 요청을 재현하고 응답 헤더·본문을 확인합니다.
설치 여부 확인 후 필요할 때만 설치개별 안내 보기 →04 / SCRIPTINGPython + requests
독립 가상환경을 만들고 세션·타임아웃을 갖춘 소규모 검증 코드를 실행합니다.
Python 설치 · requests 패키지 별도 설치개별 안내 보기 →05 / TOKEN STRUCTUREJWT 로컬 분석
실습 토큰의 Header·Payload를 로컬에서 읽고 서명 검증과 구별합니다.
Python 표준 라이브러리 사용 · 외부 디코더 불필요개별 안내 보기 →어떤 도구부터 사용할까요?
| 하고 싶은 일 | 먼저 열 도구 | 기록할 결과 |
|---|---|---|
| 브라우저 요청·쿠키 확인 | 개발자 도구 Network·Application | 요청 메서드, 헤더, 응답, 쿠키 속성 |
| 요청 한 필드만 수정·재전송 | Burp Proxy → Repeater | 기준 요청과 수정 요청의 응답 차이 |
| 브라우저 없이 단건 재현 | curl | 명령, 상태 코드, 헤더, 본문 |
| 제한된 회귀 검증 자동화 | Python requests | 입력별 판정과 예외·타임아웃 |
| 실습 JWT 구조 읽기 | 로컬 Base64url 분석 | Header·Payload와 검증 여부의 구분 |
짧은 분석 기록 양식
FLAG 외에 어떤 보안 경계가 깨졌는지 설명할 수 있어야 합니다. 계정·토큰·쿠키·FLAG 원문은 공유 자료에서 제거하세요.
전제조건: 로그인 상태, 역할, 사용한 기능
정상 동작: 요청 메서드·경로와 응답 요약
변경한 입력: 바꾼 필드 하나와 인코딩 방식
관측 근거: 상태 코드·헤더·본문·브라우저 결과
원인과 영향: 서버가 확인하지 않은 경계
방어: 검증 또는 안전한 처리 방법
재검증: 비정상 요청 차단 + 정상 기능 유지