Burp Suite 초보자 튜토리얼: 첫 인터셉트 실습
Burp Suite 초보자 대상, 프록시 설정부터 인터셉트 흐름과 요청 수정까지 단계별로 설명한 실습
목차
소개
이 글은 Burp Suite 초보자 튜토리얼 성격으로, 처음 프록시를 연결하고 인터셉트하는 과정에 집중한다. 복잡한 이론은 최소화하고 실제 실습 흐름을 중심으로 설명한다. 보안 검증을 시작하려는 이들이 차근차근 따라올 수 있도록 구성했다.
준비물
- Burp Suite (Community 또는 Professional)
- 테스트용 웹 브라우저(권장: Firefox나 Chromium 계열의 임시 프로필)
- 네트워크 연결 설정 변경 권한
- 관리자 권한(루트 인증서 설치 시 필요)
Burp Suite 설치 및 기본 설정
Burp 실행과 기본 포트 확인
Burp Suite를 실행하면 기본적으로 Proxy 모듈이 활성화된다. 기본 리스닝 포트는 127.0.0.1:8080이다. 시작 화면 상단의 Proxy > Options에서 현재 리스닝 인터페이스와 포트를 확인한다. 포트 충돌이 있으면 숫자를 변경한다.
Proxy 탭 구성 요소
Proxy 탭은 주로 three가지 부분으로 나뉜다. Intercept, HTTP history, 그리고 Options. Intercept는 실시간 가로채기, HTTP history는 기록 저장, Options는 리스너와 인터페이스 설정을 담당한다.
브라우저 프록시 연결
브라우저에서 프록시 설정
브라우저 프록시는 Burp의 리스너와 일치시켜야 한다. 예를 들어 로컬에서 Burp를 사용하는 경우 다음과 같이 설정한다.
# curl 예시: Burp를 통해 요청 보내기
curl -x http://127.0.0.1:8080 http://example.com
# 브라우저 수동 설정 예 (HTTP 프록시)
# 주소: 127.0.0.1 포트: 8080
브라우저 확장이나 시스템 프록시 설정으로도 연결할 수 있다. 테스트 전 브라우저의 다른 프록시 확장 기능은 비활성화한다.
인터셉트 실습 단계
1단계: Intercept 켜기
Burp의 Proxy > Intercept 탭에서 Intercept is on 상태를 확인한다. 브라우저에서 페이지를 로드하면 요청이 Burp에서 가로채진다. 요청 창에서 헤더와 바디를 확인할 수 있다.
2단계: 요청 관찰하기
가로챈 요청은 Method, Path, Headers, Body 등의 정보를 보여준다. 이 정보를 기반으로 공격 벡터나 취약점 조사 포인트를 선정한다. 예를 들어 불필요한 민감 정보의 노출 여부를 확인한다.
3단계: 요청 수정 및 포워드
요청을 수정한 뒤 Forward 버튼으로 서버에 전달할 수 있다. 필요하면 Drop으로 요청을 취소한다. 이 과정을 반복하면서 서버의 반응을 관찰한다.
# 예: GET 요청의 User-Agent 수정 예시
# 원본: GET /index.html HTTP/1.1
# 수정 후: User-Agent: Mozilla/5.0 (CustomTest)
HTTPS 사이트 테스트와 CA 설치
HTTPS 트래픽을 인터셉트하려면 Burp의 CA 인증서를 브라우저에 설치해야 한다. Proxy > Options > Import / export CA certificate에서 인증서를 추출한 뒤 브라우저의 인증서 저장소에 신뢰 루트로 추가한다. 인증서 설치 후에는 HTTPS 사이트의 트래픽이 복호화되어 요청과 응답이 보여진다.
실습 예: 로그인 폼 가로채기
- 로그인 페이지에 접속한다.
- 버튼 클릭 시 Burp가 요청을 가로챈다.
- POST 바디에서 파라미터를 확인한다.
- 비교를 위해 패스워드 값을 변경 후 Forward로 서버 응답을 확인한다.
주의 사항
인터셉트 실습은 본인이 소유하거나 테스트 허가를 받은 대상에서만 수행한다. 무단 테스트는 법적 문제가 될 수 있다. 또한 CA 인증서 설치 후에는 작업이 끝나면 인증서를 제거하거나 신뢰 설정을 원래대로 돌려놓는 것이 안전하다.
정리
이 글은 Burp Suite 시작 가이드와 함께 Burp Proxy 인터셉트 방법을 실습 중심으로 정리했다. 핵심은 프록시 연결, 인터셉트 동작 이해, 요청 수정 후 서버 반응 확인이다. 처음에는 단순한 GET/POST 요청부터 시작해 점차 복잡한 흐름을 확인하면 학습 곡선이 완만해진다.