Burp Suite
내장 브라우저로 요청을 기록하고 Repeater에서 한 필드씩 바꿔 응답을 비교합니다.
설치 필요 · Community Edition으로 시작실습 범위
이 사이트의 정상 요청 관찰부터 시작해 해당 도구 가이드에서 지정한 교육용 문제에만 적용하세요. 정상 요청을 먼저 기록하고 한 번에 입력 하나만 바꿔 보세요. 토큰·쿠키·FLAG 원문은 외부 도구나 공개 문서에 올리지 마세요.
설치·준비
PortSwigger 공식 다운로드 ↗ 설치 파일은 공식 제공처에서만 내려받으세요.
1. 공식 사이트에서 설치
공식 다운로드 페이지에서 Burp Suite Community Edition을 선택하고 자신의 운영체제·CPU에 맞는 설치 파일을 받으세요. 설치 마법사를 완료한 뒤 실행합니다. 무작위 재배포 사이트의 설치 파일은 사용하지 마세요.
2. 임시 프로젝트로 시작
처음 실행 화면에서 Temporary project와 기본 설정을 선택하면 연습을 시작할 수 있습니다. 이 프로젝트 기록은 영구 보관용이 아니므로 필요한 요청은 민감정보를 제거한 뒤 별도로 정리하세요.
3. Burp 내장 브라우저 열기
Proxy → Intercept → Open Browser를 누릅니다. 내장 브라우저에는 프록시가 미리 연결되어 있으므로 별도 브라우저 인증서 설정 없이 이 실습을 시작할 수 있습니다. 외부 브라우저를 직접 연결한다면 프록시·HTTPS 인증서 설정이 추가로 필요합니다.
처음부터 따라 하기
- 01
정상 요청 확보
내장 브라우저에서 https://rokseclab.kr/web/basic/http을 열고 GET 요청 버튼을 누릅니다. Intercept가 켜져 화면이 멈추면 Forward로 통과시키거나 Intercept off로 바꾸세요. Intercept off여도 Proxy → HTTP history에 요청은 기록됩니다.
- 02
History에서 요청 찾기
Proxy → HTTP history에서 /api/web/basics/http 요청을 찾습니다. Method, URL, Status를 보고 항목을 선택해 Request/Response의 헤더와 본문을 확인하세요. 브라우저의 다른 정적 파일 요청과 구분합니다.
- 03
Repeater로 보내기
해당 요청을 우클릭하여 Send to Repeater를 선택합니다. Repeater 탭의 Send를 눌러 원본 요청의 기준 응답을 먼저 얻으세요. 이 기능은 인터셉트를 켜지 않아도 사용할 수 있습니다.
- 04
한 값만 수정해 비교
쿼리의 sample 값 하나만 바꾸고 다시 Send를 누릅니다. 응답 JSON의 query 값, 상태 코드, Content-Type, Set-Cookie 차이를 기록하세요. POST 버튼을 누른 경우에는 Request 본문과 Content-Type을 따로 비교합니다. 무의미한 대량 반복 요청은 하지 않습니다.
- 05
디코딩과 차이 확인
퍼센트 인코딩이나 Base64가 보이면 해당 부분만 Decoder로 보내 변환 전후를 확인합니다. 두 응답을 Comparer로 보내 차이를 볼 수도 있습니다. 디코딩은 권한 검증이 아닙니다.
성공하면 무엇이 보이나요?
- GET은 sample이 쿼리에, POST는 본문에 나타나는지
- 첫 응답의 Set-Cookie와 다음 요청의 Cookie가 어떻게 다른지
- 한 필드만 바꿨을 때 query 또는 body의 해당 값만 달라지는지
실습 기록
기준 요청과 수정 요청의 메서드·경로·변경한 필드·상태 코드·헤더·본문 차이를 2열로 기록하세요. 쿠키와 토큰 원문은 가립니다.
막힐 때 확인하기
페이지가 계속 로딩 중
Proxy → Intercept에서 대기 중인 요청을 Forward하거나 Intercept off로 바꾸세요.
HTTP history가 비어 있음
Burp의 Open Browser에서 페이지를 열었는지, 필터가 요청을 숨기지 않는지 확인한 뒤 새로고침하세요.
외부 브라우저에서 HTTPS 경고
처음에는 내장 브라우저를 사용하세요. 외부 브라우저는 공식 문서의 프록시·CA 인증서 안내를 따른 뒤 실습 범위에만 적용하세요.
공식 다운로드·설명서
다운로드와 사용법은 제공자의 공식 안내를 기준으로 확인하세요. 화면 명칭은 도구 버전에 따라 조금 바뀔 수 있습니다.