블로그로 돌아가기

Burp Suite를 웹 애플리케이션 침투 테스트를 위한 프록시로 사용하는 방법: 예제와 함께하는 완벽 가이드

Burp Suite는 HTTP 트래픽을 가로채고 분석하기 위한 펜테스터의 표준 도구입니다. 이 기사에서는 이를 프록시로 설정하고 웹 애플리케이션 테스트를 시작하는 방법을 설명합니다.

📅2026년 8월 6일
```html

Burp Suite는 웹 애플리케이션 보안 전문가의 필수 도구입니다. 이 도구의 프록시 모듈은 브라우저와 서버 간의 HTTP/HTTPS 트래픽을 실시간으로 가로채고 분석하며 수정할 수 있게 해줍니다. 이 가이드에서는 Burp Suite를 프록시로 설정하는 방법, 기본 펜테스트에 사용할 모듈, 그리고 초보자가 저지르기 쉬운 일반적인 실수를 피하는 방법을 설명합니다.

Burp Suite란 무엇이며 펜테스터에게 필요한 이유

Burp Suite는 PortSwigger에서 개발한 웹 애플리케이션 보안 테스트를 위한 통합 플랫폼입니다. 이 도구는 Community(무료), Professional 및 Enterprise의 세 가지 버전으로 제공됩니다. 대부분의 초기 및 중급 작업에는 Community 버전으로 충분하지만, Professional 버전은 활성 취약점 스캐너와 Intruder의 확장 기능에 접근할 수 있습니다.

Burp Suite의 주요 역할은 중간자 프록시 역할입니다. 이 도구는 브라우저와 대상 웹 애플리케이션 사이에 위치하여 모든 HTTP/HTTPS 트래픽을 가로챕니다. 이를 통해 다음과 같은 작업이 가능합니다:

  • 브라우저가 사용자에게 숨기는 "원시" 요청 및 응답 보기
  • 요청 매개변수를 실시간으로 수정 — 헤더, POST 요청 본문, 쿠키 변경
  • 페이지를 새로 고치지 않고도 수정된 데이터로 요청 반복
  • 취약점을 찾기 위해 매개변수 값을 자동으로 반복
  • 웹 애플리케이션의 전체 맵 작성 (Spider/Crawler)
  • SQLi, XSS, IDOR, SSRF 등 여러 취약점 찾기

Burp Suite는 상업 프로젝트에서 전문 펜테스터와 Bug Bounty 프로그램(HackerOne, Bugcrowd) 참가자 모두가 사용합니다. 이는 애플리케이션 보안 분야에서 경력을 시작할 때 가장 먼저 설치하는 도구입니다.

⚠️ 중요:

Burp Suite는 소유자의 서면 허가가 있는 애플리케이션 또는 교육용 환경(DVWA, WebGoat, HackTheBox, TryHackMe)에서만 사용하십시오. 무단 테스트는 범죄입니다.

Burp Suite의 프록시 가로채기 작동 방식

Burp Suite를 실행하고 Proxy 모듈을 활성화하면, 로컬 프록시 서버가 귀하의 컴퓨터에서 시작됩니다. 기본적으로 이 서버는 127.0.0.1:8080에서 수신 대기합니다. 브라우저는 이 주소를 HTTP/HTTPS 프록시로 사용하도록 설정됩니다.

작동 방식은 다음과 같습니다:

브라우저
   │
   │  HTTP/HTTPS 요청
   ▼
Burp Suite Proxy (127.0.0.1:8080)
   │
   │  ← 여기서 Burp가 가로채고, 보여주고, 수정할 수 있게 해줍니다
   │
   ▼
대상 웹 서버 (example.com)
   │
   │  HTTP/HTTPS 응답
   ▼
Burp Suite Proxy
   │
   │  ← 여기서 Burp가 서버 응답을 가로챕니다
   │
   ▼
브라우저 (응답 수신)
  

HTTPS 트래픽의 경우, Burp Suite는 각 도메인에 대해 실시간으로 자체 TLS 인증서를 생성합니다. 브라우저가 안전하지 않은 연결에 대한 경고를 표시하지 않도록 하려면, Burp의 루트 CA 인증서를 브라우저 또는 운영 체제의 신뢰할 수 있는 인증 기관에 설치해야 합니다. 이 단계가 없으면 HTTPS 트래픽을 해독할 수 없으며, 암호화된 데이터만 볼 수 있습니다.

가로채기 모드(Intercept)는 켜거나 끌 수 있습니다. Intercept가 켜져 있을 때는 각 요청이 Burp에서 "동결"되어 귀하의 결정(그대로 통과, 수정 또는 취소)을 기다립니다. 꺼져 있을 때는 Burp가 트래픽을 투명하게 통과시키지만, 여전히 HTTP History에 기록합니다.

브라우저 설정 및 CA 인증서 설치

이는 작업을 시작하기 위한 가장 중요한 단계입니다. 두 가지 옵션을 살펴보겠습니다: Burp의 내장 브라우저 사용과 Chrome/Firefox의 수동 설정.

옵션 1: Burp Suite 내장 브라우저 (초보자에게 권장)

2021.x 버전부터 Burp Suite는 프록시 작업을 위해 이미 설정된 내장 Chromium 브라우저를 제공합니다. 이는 작업을 시작하는 가장 빠른 방법입니다:

  1. Burp Suite를 열고 Proxy 섹션으로 이동합니다.
  2. Open Browser 버튼을 클릭합니다.
  3. Burp 프록시로 이미 설정된 Chromium이 열립니다.
  4. 원하는 웹사이트로 이동하면 트래픽이 즉시 가로채집니다.

옵션 2: Firefox 수동 설정

Firefox는 자체 인증서 저장소를 가지고 있어 수동 설정에 더 적합합니다(시스템에 의존하지 않음):

단계 1. Firefox에서 프록시 설정:

  1. Firefox를 열고 → 설정 → 프록시 서버(또는 FoxyProxy 확장 사용)
  2. “프록시 수동 설정”을 선택합니다.
  3. HTTP 프록시: 127.0.0.1, 포트: 8080
  4. “HTTPS에 대해 이 프록시 사용” 체크박스를 선택합니다.
  5. 확인을 클릭합니다.

단계 2. Burp CA 인증서 설치:

  1. Burp Suite가 실행 중이고 프록시가 활성화되어 있는지 확인합니다.
  2. 브라우저에서 다음 주소로 이동합니다: http://burpsuite 또는 http://127.0.0.1:8080
  3. “CA Certificate”를 클릭하면 cacert.der 파일이 다운로드됩니다.
  4. Firefox: 설정 → 개인 정보 및 보안 → 인증서 → 인증서 보기
  5. “인증 기관” 탭 → 가져오기 → 다운로드한 파일 선택
  6. “웹사이트 식별을 위해 이 CA를 신뢰” 체크박스를 선택합니다.
  7. 확인을 클릭합니다.

이러한 단계를 완료하면 Firefox는 Burp가 HTTPS 사이트에 대해 생성하는 인증서를 신뢰하게 되며, 경고 없이 암호화된 트래픽을 가로챌 수 있습니다.

HTTP/HTTPS 트래픽 가로채기 및 분석

브라우저 설정이 완료되면 트래픽 작업을 시작할 수 있습니다. Burp Suite의 Proxy 탭에서 기본 기능을 살펴보겠습니다.

HTTP History — 모든 요청의 로그

HTTP History 탭(Proxy → HTTP History)은 Burp를 통과한 모든 요청의 로그입니다. 여기에서 다음을 볼 수 있습니다:

  • 요청 방법 (GET, POST, PUT, DELETE 등)
  • URL 및 매개변수
  • HTTP 헤더 (쿠키, Authorization, User-Agent 포함)
  • 요청 본문 (POST/PUT의 경우)
  • 서버 응답 코드 (200, 302, 403, 500...)
  • 응답 크기 및 시간

모든 요청에서 마우스 오른쪽 버튼 클릭 → 컨텍스트 메뉴가 열리며: Repeater, Intruder, Scanner, Decoder 및 기타 모듈로 전송할 수 있는 옵션이 제공됩니다. 이는 Burp의 주요 작업 흐름입니다.

Intercept — 활성 가로채기 모드

Intercept를 활성화(“Intercept is on/off” 버튼)하면 브라우저에서 다음 요청이 Burp에서 “동결”됩니다. 요청의 내용을 보고 다음과 같은 작업을 수행할 수 있습니다:

  • Forward — 요청을 변경 없이 통과시킵니다.
  • Drop — 요청을 취소합니다 (서버는 요청을 받지 않습니다).
  • 수동으로 데이터 수정 — 원하는 필드를 수정하고 Forward를 클릭합니다.
  • Action → Send to Repeater — Repeater로 전송하여 추가 분석을 수행합니다.

실용적인 예: 로그인 폼의 POST 요청을 가로챕니다. 요청 본문에서 username=admin&password=12345 매개변수를 봅니다. Burp에서 값을 수정하고 Forward를 클릭하면 서버는 이미 수정된 데이터를 받게 됩니다.

주요 모듈: Repeater, Intruder, Scanner

Burp Suite는 단순한 프록시가 아닙니다. 이는 전체 도구 생태계입니다. 가장 자주 사용되는 세 가지 모듈을 살펴보겠습니다.

Repeater — 요청의 수동 테스트

Repeater는 펜테스터의 작업 도구입니다. HTTP History에서 요청을 Repeater로 전송한 후, 다음과 같은 작업을 수행할 수 있습니다:

  • 요청의 모든 매개변수 수정
  • Send 버튼을 클릭하여 요청을 다시 전송
  • 오른쪽 패널에서 서버 응답 보기
  • 요청의 다양한 변형에 대한 응답 비교
  • 전송된 모든 변형의 기록 저장

Repeater의 일반적인 사용 시나리오: GET 요청에서 id=5 매개변수를 찾았습니다. 요청을 Repeater로 전송하고 id=1, id=0, id=-1, id=999999일 때의 결과를 확인합니다. 이는 IDOR(불안전한 직접 객체 참조)에 대한 기본 검증입니다.

Intruder — 자동화된 반복 공격

Intruder는 지정된 사전이나 패턴에 따라 매개변수 값을 자동으로 반복할 수 있게 해줍니다. 주요 공격 모드는 다음과 같습니다:

모드 설명 적용
Sniper 하나의 매개변수, 하나의 사전 하나의 필드에 대한 브루트 포스
Battering Ram 여러 매개변수, 하나의 값 여러 위치에서 동일한 값을 필요로 할 때
Pitchfork 여러 매개변수, 여러 사전 (동기식) 로그인+비밀번호 조합 반복
Cluster Bomb 여러 매개변수, 모든 조합 모든 조합의 완전한 반복

Community 버전에서는 Intruder의 속도가 인위적으로 제한되어 있습니다(초당 약 1 요청). Professional 버전에서는 제한이 없습니다. Community에서 이 제한을 우회하기 위해서는 서드파티 확장이나 Burp와 함께 ffuf/wfuzz 유틸리티를 사용할 수 있습니다.

Scanner — 자동 취약점 검색 (Pro)

Scanner는 Professional 버전에서만 사용할 수 있습니다. 이 모듈은 가로챈 요청을 자동으로 분석하고 SQL 인젝션, XSS, XXE, SSRF, 경로 탐색 등 여러 취약점을 찾습니다. Community 버전에서는 수동 스캐닝이 가능하며, Burp는 트래픽을 분석하고 잠재적으로 위험한 부분을 강조 표시합니다.

Burp Suite를 통한 일반적인 취약점 찾기

Burp Suite를 사용하여 가장 일반적인 취약점을 찾는 실용적인 시나리오를 살펴보겠습니다.

SQL 인젝션 (SQLi)

Repeater를 통한 SQLi 기본 검증:

  1. 데이터베이스로 전송되는 매개변수를 포함한 요청을 가로챕니다 (예: id=5 또는 search=test)
  2. Repeater로 전송합니다.
  3. 값에 단일 인용부호를 추가합니다: id=5'
  4. Send를 클릭하고 응답을 확인합니다 — 서버가 SQL 오류를 반환하거나 동작이 변경되면 SQLi의 징후가 있습니다.
  5. 불리언 인젝션을 확인합니다: id=5 AND 1=1 vs id=5 AND 1=2 — 응답이 다르면 인젝션이 존재합니다.

Reflected XSS

반사 XSS 검증:

  1. 응답 페이지에 표시되는 매개변수를 찾습니다.
  2. 요청을 Repeater로 전송합니다.
  3. 테스트 페이로드를 삽입합니다: <script>alert(1)</script>
  4. 응답을 확인합니다 — 페이로드가 HTML에 이스케이프 없이 포함되면 XSS가 존재합니다.
  5. script 태그가 필터링되지 않는지 확인합니다: <img src=x onerror=alert(1)>를 시도해 보십시오.

IDOR (불안전한 직접 객체 참조)

현대 웹 애플리케이션에서 가장 일반적인 취약점 클래스 중 하나입니다:

  1. 숫자 ID로 객체에 접근하는 요청을 찾습니다: /api/user/profile?id=1234
  2. Repeater로 전송합니다.
  3. ID를 다른 값으로 변경합니다: id=1235, id=1
  4. 서버가 인증 오류 없이 다른 사용자의 데이터를 반환하면 IDOR입니다.

인증 및 세션 관리 검증

Burp Suite는 인증 메커니즘을 쉽게 검증할 수 있게 해줍니다:

  • 보호된 리소스에 대한 요청을 Repeater로 복사합니다.
  • 세션 쿠키의 값을 삭제하거나 변경합니다.
  • 서버가 인증 오류를 반환하는지 또는 여전히 데이터를 반환하는지 확인합니다.
  • 알고리즘을 none으로 변경할 때 JWT 토큰이 작동하는지 확인합니다.

Burp Suite + 외부 프록시: 필요한 이유

Burp Suite는 로컬 도구 프록시입니다. 그러나 특정 시나리오에서는 펜테스터가 Burp를 통해 외부 프록시를 사용해야 할 필요가 있습니다. 언제, 왜 필요한지 살펴보겠습니다.

시나리오 1: 실제 IP 주소에서 테스트하기

일부 웹 애플리케이션은 지리적 위치 또는 IP 평판 기반 보호를 가지고 있습니다. 대상 애플리케이션이 데이터 센터 또는 알려진 VPN IP에서 오는 트래픽을 차단하는 경우, 펜테스터는 주거용 프록시를 사용할 수 있습니다 — 이들은 실제 가정 사용자 IP 주소를 가지고 있으며 서버에 일반 방문자로 보입니다.

시나리오 2: 활성 테스트 중 속도 제한 우회

활성 스캔 또는 Intruder 작업 중에 대상 서버가 요청 수가 많아 IP를 차단할 수 있습니다. 프록시 풀을 통한 회전은 다양한 IP 주소에 부하를 분산시킬 수 있습니다. 이러한 작업에는 데이터 센터 프록시가 적합합니다 — 이들은 높은 속도와 안정성을 제공하여 자동화된 테스트에 중요합니다.

Burp Suite에서 업스트림 프록시 설정 방법

Burp Suite는 업스트림 프록시(상위 수준 프록시)를 지원합니다. 설정 방법은 다음과 같습니다:

  1. Burp Suite를 열고 → 설정(또는 이전 버전의 사용자 옵션)으로 이동합니다.
  2. Network → Connections → Upstream Proxy Servers 섹션으로 이동합니다.
  3. Add를 클릭합니다.
  4. 대상 호스트 필드에 * (모든 호스트용) 또는 특정 도메인을 입력합니다.
  5. 외부 프록시의 주소와 포트를 입력합니다.
  6. 유형을 선택합니다: HTTP, SOCKS4 또는 SOCKS5.
  7. 필요한 경우 로그인 및 비밀번호를 입력합니다.
  8. 확인을 클릭합니다.
# Burp Suite에서 업스트림 프록시 구성 예시:

Destination host: *
Proxy host:       proxy.example.com
Proxy port:       8888
Auth type:        Basic
Username:         your_login
Password:         your_password
Proxy type:       SOCKS5
  

이 설정 후, Burp가 대상 서버에 전송하는 모든 트래픽은 지정된 업스트림 프록시를 통해 전송됩니다. 브라우저는 여전히 127.0.0.1:8080에서 Burp에 연결되며, Burp는 외부 프록시를 통해 요청을 자동으로 전달합니다.

펜테스트를 위한 프록시 유형 비교

프록시 유형 속도 익명성 펜테스트에서의 적용
데이터 센터 높음 중간 활성 스캔, Intruder
주거용 중간 높음 지리적 차단 우회, 사용자 모방
모바일 중간 매우 높음 모바일 API 테스트, 엄격한 WAF 우회

Burp Suite 사용 시 팁과 자주 하는 오류

Burp Suite와 함께 작업하면서 펜테스터 커뮤니티에 축적된 초보자들의 일반적인 실수와 검증된 기술 목록이 있습니다. 여기에서 가장 중요한 것들을 소개합니다.

초보자의 일반적인 실수

  • CA 인증서를 설치하는 것을 잊었습니다. 증상: HTTPS 사이트에서 안전하지 않은 연결에 대한 경고가 표시되며, 트래픽이 가로채지지 않습니다. 해결책: 위의 지침에 따라 인증서를 설치하십시오.
  • Intercept가 켜져 있습니다. 브라우저가 "멈춤" 상태 — 페이지를 로드하지 않습니다. 해결책: Proxy → Intercept로 이동하여 “Intercept is on” 버튼을 클릭하여 가로채기를 끕니다.
  • 시스템 트래픽에 대한 예외를 추가하지 않았습니다. Burp가 Windows 업데이트, 안티바이러스 등의 트래픽을 가로챕니다. Proxy → Options → Intercept Client Requests에서 필터를 설정하여 필요한 도메인만 가로채도록 설정하십시오.
  • 허가 없이 프로덕션 서버를 테스트합니다. 이는 불법입니다. 테스트 환경이나 명시적인 허가가 있는 애플리케이션만 사용하십시오.
  • Target → Site Map 탭을 무시합니다. 여기에서 Burp는 전체 애플리케이션의 맵을 작성합니다 — 발견된 모든 엔드포인트, 매개변수 및 응답이 포함됩니다. 이는 정찰 시 귀중한 정보의 원천입니다.

유용한 기술

  • Match and Replace. Proxy → Options → Match and Replace에서 요청의 값 자동 교체를 설정할 수 있습니다. 예를 들어, 헤더를 자동으로 추가하거나 User-Agent를 모바일로 변경하는 것입니다.
  • Decoder. Decoder 모듈은 데이터를 빠르게 디코딩/인코딩할 수 있게 해줍니다: Base64, URL 인코딩, HTML 엔티티, Hex. 토큰 및 매개변수를 분석할 때 필수적입니다.
  • Comparer. 두 서버 응답을 바이트 단위로 비교할 수 있습니다. Comparer에 두 개의 유사한 요청을 전송하면 즉시 차이를 볼 수 있습니다.
  • BApp Store. Burp Suite는 확장 기능(BApp Store)을 지원합니다. 인기 있는 확장 기능: Autorize(인증 검증), Logger++(확장된 로깅), Turbo Intruder(Community에서 빠른 반복), JWT Editor.
  • 프로젝트를 저장하십시오. Professional 버전에서는 프로젝트를 저장할 수 있습니다. Community에서는 Export → Save state를 사용하여 HTTP History를 잃지 않도록 하십시오.
  • Scope를 사용하십시오. Target → Scope에서 대상 애플리케이션의 도메인을 추가하십시오. 이렇게 하면 Burp가 관련 없는 트래픽을 필터링하고 Google, CDN 등에 대한 요청으로 HTTP History가 혼잡해지는 것을 방지할 수 있습니다.

연습을 위한 유용한 리소스

리소스 유형 대상
PortSwigger 웹 보안 아카데미 무료 실습 + 이론 초보자 및 중급자
DVWA (Damn Vulnerable Web App) 로컬 스탠드 위험 없이 연습
HackTheBox / TryHackMe 온라인 CTF 플랫폼 실제 시나리오 연습
WebGoat (OWASP) 교훈이 포함된 로컬 스탠드 OWASP Top 10 학습

결론

Burp Suite는 웹 애플리케이션 보안 테스트를 위한 강력하고 접근 가능한 도구입니다. 이 도구의 프록시 모듈은 HTTP/HTTPS 트래픽을 완전히 볼 수 있게 해주며, Proxy → Repeater → Intruder의 조합은 대부분의 수동 펜테스트 작업을 처리할 수 있습니다. Community 버전과 PortSwigger 웹 보안 아카데미의 무료 실습을 통해 무료로 시작할 수 있으며, 이는 도구를 실제로 익히는 가장 좋은 방법입니다.

시작을 위한 핵심 단계: Burp Suite를 설치하고, FoxyProxy를 통해 브라우저를 설정하고, CA 인증서를 설치하고, Scope에 대상 도메인을 추가하십시오 — 그러면 작업을 시작할 준비가 됩니다. 기본 모듈을 익힌 후에는 BApp Store의 확장 기능을 학습하십시오: Autorize, Turbo Intruder 및 JWT Editor는 귀하의 기능을 크게 확장할 것입니다.

펜테스트 중 비표준 지리적 위치에서 애플리케이션을 테스트하거나 IP 차단을 우회하거나 실제 사용자 트래픽을 모방해야 하는 경우, Burp Suite에서 업스트림 프록시를 설정하는 것을 권장합니다. IP 평판 기반 보호를 우회하고 높은 익명성이 필요한 작업에는 주거용 프록시가 적합합니다 — 이들은 실제 사용자 IP 주소에서 트래픽을 제공하며 테스트 중 차단 위험을 최소화합니다.

```