다음은 Burp Suite 실무 스터디 가이드 HTML 파일입니다. 다크 테마와 체계적인 섹션 구성으로 보안 전문가에게 필요한 핵심 개념, 비교표, 아키텍처 다이어그램, 설정 레퍼런스, 트러블슈팅 등을 한 파일에 담았습니다. ```html
데이터 엔지니어 · AI 엔지니어를 위한 핵심 요약
Burp Suite는 PortSwigger에서 개발한 웹 애플리케이션 보안 테스트 플랫폼입니다.
프록시, 스캐너, 인트루더, 리피터 등 다양한 도구를 통합하여 취약점 진단과 모의 해킹을 효율적으로 수행할 수 있습니다.
브라우저와 서버 사이에서 HTTP/HTTPS 트래픽을 가로채고 수정. 모든 요청/응답을 분석 가능.
SQLi, XSS, SSRF 등 수백 가지 취약점을 능동/수동으로 스캔. AI 기반 탐지 엔진 탑재.
BApp 스토어를 통해 플러그인 설치 가능. Python (Jython) 및 Java 기반 확장 지원.
* Community Edition은 무료, Professional은 고급 스캐너와 툴 제공.
웹 보안 테스트 도구는 많지만, Burp Suite는 통합성 · 확장성 · 실무 점유율에서 압도적입니다. 아래 비교표를 통해 OWASP ZAP, Acunetix와의 차이를 확인하세요.
| 기능 | Burp Suite (Pro) | OWASP ZAP | Acunetix |
|---|---|---|---|
| 인터셉트 프록시 | ✅ 고급 (WebSocket 지원) | ✅ 기본 | ❌ 제한적 |
| 자동 스캔 엔진 | ✅ AI + 수동 결합 | ✅ 기본 규칙 기반 | ✅ 상용 엔진 |
| 확장성 (BApp / 플러그인) | ✅ 300+ 모듈 | ✅ 제한적 | ❌ 폐쇄형 |
| Python 스크립팅 | ✅ Jython + REST API | ✅ 내장 스크립트 | ❌ |
| 실무 채용률 | 🔝 업계 표준 | 중간 | 낮음 |
💡 결론: AI/데이터 엔지니어도 API 보안, 모델 인젝션 테스트를 위해 Burp Suite를 사용합니다. Python 자동화와 연동이 특히 강력합니다.
Burp Suite의 아키텍처는 프록시 → 스코프 → 툴 체인으로 구성됩니다. 아래 다이어그램으로 전체 흐름을 시각화했습니다.
Burp Suite를 빠르게 설치하고 첫 인터셉트까지 진행합니다. Python을 활용한 자동화 예제도 포함합니다.
# 1. Java (JRE 17+) 설치 확인 java -version # 2. Burp Suite Community 다운로드 # https://portswigger.net/burp/releases # 또는 brew (macOS) brew install --cask burp-suite # 3. 실행 후 임시 프로젝트 생성 burpsuite &
# 1. Burp Proxy 탭 → Intercept is on 확인 # 2. 브라우저 프록시 설정 → 127.0.0.1:8080 (HTTP/HTTPS) # 3. CA 인증서 설치 (https://burp) # - Firefox: 예외 추가 # - Chrome: --proxy-server=127.0.0.1:8080 # 터미널에서 Chrome 실행 예 (macOS) open -a "Google Chrome" --args --proxy-server=127.0.0.1:8080 --ignore-certificate-errors
import requests # Burp 프록시를 통해 요청 전송 proxies = { "http": "http://127.0.0.1:8080", "https": "http://127.0.0.1:8080", } # Burp CA 인증서가 설치되어 있어야 함 response = requests.get( "https://example.com/login", proxies=proxies, verify="/path/to/burp-ca.pem" # 또는 verify=False (테스트) ) print(response.status_code) print(response.headers.get("X-Frame-Options"))
⚠️ 보안 주의: 프록시 인증서를 영구 신뢰하지 마세요. 테스트 환경에서만 사용하십시오.
자주 사용하는 설정을 표로 정리했습니다.
| 설정 항목 | 위치 (UI) | 추천 값 / 설명 |
|---|---|---|
| Proxy Listeners | Proxy → Options | 기본 127.0.0.1:8080, 바인드 주소 변경 가능 |
| Scope (Target) | Target → Scope | 테스트 대상 호스트만 추가, Out-of-Scope 요청 드롭 |
| Session Handling | Project Options → Sessions | CSRF 토큰 자동 추출 규칙 (매크로 활용) |
| Intruder Payloads | Intruder → Payloads | 추가: 숫자, 특수문자, 사전 파일; 처리: 인코딩 |
| Extender (Python) | Extender → Options | Jython jar 경로 설정, BApp 설치 |
| Logger (Traffic) | Logger → Live capture | 모든 요청/응답 로깅, 필터 적용 가능 |
🔧 팁: Session Handling 규칙을 설정하면 OAuth 흐름도 자동화할 수 있습니다.
자주 겪는 문제와 해결책을 정리했습니다.
| 문제 | 원인 | 해결책 |
|---|---|---|
| 브라우저에서 HTTPS 사이트 접속 불가 | CA 인증서 미설치 또는 신뢰하지 않음 | http://burp에서 CA 인증서 다운로드 후 브라우저에 설치 |
| 인터셉트가 너무 느림 | 요청/응답에 큰 바이너리 포함 | Proxy → Options → Intercept Server Response에서 MIME 타입 필터 (이미지, CSS 제외) |
| Intruder 결과가 너무 많음 | 페이로드 설정이 과도함 | Grep-Match, Grep-Extract로 필터; 리소스 풀 설정 (Threads 5~10) |
| Python 확장이 동작 안 함 | Jython 미설치 또는 경로 오류 | Extender → Options → Python Environment → Jython jar 지정 (v2.7.3+) |
| WebSocket 트래픽이 안 보임 | WebSocket 인터셉트 기본 비활성 | Proxy → Options → WebSocket Intercept 활성화 |
🚨 중요: Burp Suite를 이용한 무단 스캔은 불법입니다. 반드시 사전 승인된 환경에서만 사용하세요.
공식 문서 및 추천 리소스입니다.
📘 추천: Academy의 "Server-side topics"와 "API testing" 실습을 꼭 진행해보세요.