본문 바로가기
보안 기술/해킹 툴

Burp Suite

💡 Burp Suite (버프 스위트) 심층 분석 및 실무 가이드

📌 핵심 요약 (TL;DR)

  • 본질: 웹 브라우저와 타겟 서버 사이에 프록시(Proxy)로 개입하여, 오고 가는 모든 HTTP/HTTPS 트래픽을 가로채고 조작 및 퍼징(Fuzzing)하는 업계 표준 웹 보안 진단 플랫폼임.
  • 위협 및 목적: 해커는 클라이언트 측 검증을 우회하고 서버로 전송되는 파라미터를 변조하여 SQLi, XSS, IDOR 등의 치명적인 취약점을 발굴 및 익스플로잇함.
  • 대응 방안: L7 웹 방화벽(WAF)을 통해 비정상적인 페이로드 패턴을 차단하고, 서버사이드(Server-side) 파라미터 무결성 검증 및 인증서 피닝(Certificate Pinning)을 강제해야 함.


📑 목차 (Table of Contents)


⚠️ 면책 조항 (Disclaimer)
본 포스팅의 보안/해킹 관련 실습은 허가된 통제 환경(개인 VM 및 합법적 모의해킹 계약 범위)에서만 수행됨.
허가되지 않은 타인의 웹 서비스에 대해 파라미터를 변조하거나 취약점 스캐너를 사출하는 행위는 「정보통신망 이용촉진 및 정보보호 등에 관한 법률」 제48조 위반으로 형사처벌 대상임.
모든 분석은 벤더사 공식 레퍼런스 및 NVD 공인 데이터를 기반으로 작성됨.

📖 학습 목적: 보안 취약점의 동작 원리를 이해하고 방어 전략을 수립하기 위한 학습 및 지식 공유 목적임. 모든 실습은 허가된 통제 환경에서만 진행함.


자주 등장하는 용어 (초보자 참고)

약어 전체 명칭 한 줄 설명
WAF Web Application Firewall 웹 애플리케이션으로 들어오는 악성 페이로드 트래픽을 차단하는 방화벽
Proxy Intercepting Proxy 클라이언트와 서버 사이에서 트래픽을 중계하며 패킷을 멈추고 변조할 수 있는 대기소
Repeater Burp Repeater 캡처한 HTTP 요청을 수동으로 조작하여 서버에 반복적으로 재전송(Replay)하는 핵심 모듈
Intruder Burp Intruder 특정 파라미터 위치에 대량의 사전 파일을 무차별 대입(Brute-force)하는 자동화 퍼징 도구
CA Certificate Authority HTTPS 트래픽을 평문으로 가로채기 위해 브라우저에 강제 설치해야 하는 자체 루트 인증서
BApp Burp App Store 버프 스위트의 기능을 확장하기 위해 작성된 서드파티 플러그인 스토어
OAST Out-of-Band AST 외부 서버(Collaborator)와의 통신을 유발하여 블라인드 취약점을 비동기적으로 탐지하는 기법

1. 🏗️ 아키텍처 및 랩(Lab) 토폴로지

  • 난이도: 중급 / 고급
  • 주제 분류: 웹 보안 / 오펜시브 툴 / 취약점 스캐너
  • 핵심 키워드: #BurpSuite #웹해킹 #프록시
  • 사전 지식: HTTP 프로토콜 구조, 웹 세션(Cookie) 메커니즘, TLS/SSL 인증서 체인 원리

(💡 모바일 환경에서는 표를 좌우로 스크롤하여 상세 내용을 확인 권장.)

구분 OS / 플랫폼 (버전 필수) 컨테이너 / 네트워크 환경 IP 대역 인프라 내 역할
공격 (Red) Kali Linux 2026.x 네이티브 모의 공격망 10.0.0.50/24 Burp Suite 구동, 로컬 프록시(8080) 설정 후 타겟 트래픽 변조 및 익스플로잇 사출
타겟 (Target) Ubuntu 24.04 / Nginx 취약 웹(DVWA) 환경 10.0.0.100/24 조작된 페이로드를 검증 없이 수용하는 웹 취약점 발현 노드
방어 (Blue) ModSecurity / OPNsense 온프레미스 망분리 구성 10.0.0.200/24 L7 WAF 룰셋을 통한 스캐너 고유 패턴 및 악성 파라미터 차단 관제

아키텍처 통신 흐름도

[공격자 브라우저]                         [Burp Suite (Proxy: 8080)]              [타겟 웹 서버 : 10.0.0.100]
       |                                              |                                           |
       |-- (1) 요청: 파라미터 정상 전송 (id=1) --------->| (패킷 캡처 및 Intercept 상태 대기)           |
       |                                              |-- (2) 변조: Repeater로 악성 구문 삽입 후 사출 ->|
       |                                              |                                           |
       |<- (4) 응답: 브라우저에 최종 결과 렌더링 -------|<- (3) 응답: 200 OK (DB 쿼리 결과 덤프) -------|

2. 🧠 핵심 개념 및 기술적 정의

2-1. 상세 정의 및 동작 메커니즘

  • 정의: Java 기반으로 작성된 통합형 웹 애플리케이션 보안 테스트(DAST) 플랫폼으로, 프록시, 스캐너, 무차별 대입 엔진을 단일 툴킷에 집약한 도구임.
  • 탄생 배경: Dafydd Stuttard가 분절되어 있던 웹 해킹 도구들을 하나로 통합하기 위해 개발하였으며, 현재 전 세계 모의해킹 실무의 90% 이상을 장악한 표준임.
  • 인프라 내 역할: 클라이언트(프론트엔드) 브라우저 트래픽을 로컬 포트로 우회시켜, 자바스크립트 유효성 검사를 무력화하고 원시 패킷을 변조하는 MITM(중간자) 역할을 수행함.
  • 메커니즘: 로컬 루프백에 리스너를 개방하고 트래픽을 수신함. HTTPS 통신을 복호화하기 위해 동적으로 위조된 SSL 인증서를 브라우저에 주입하며, 변조된 패킷을 서버로 재암호화 전송함.
  • 버전 히스토리: Community(무료), Professional(유료, 고속 Intruder/스캐너 지원), Enterprise(CI/CD 파이프라인 자동화 특화) 에디션으로 분리 발전함.

2-2. MITRE ATT&CK & Kill Chain 매핑

Kill Chain Phase MITRE Tactic (전술) Technique (기법) ID
Reconnaissance Reconnaissance Active Scanning: Vulnerability Scanning T1595.002
Delivery Initial Access Exploit Public-Facing Application T1190
Exploitation Credential Access Brute Force: Password Guessing T1110.001
Exploitation Defense Evasion Modify System Process (WAF Evasion) T1055
Actions on Objectives Collection Data from Local System T1005

3. ⚙️ 주요 특징 및 통신 규격

3-1. 기술적 핵심 특징

  • 특징 1 — 아키텍처 모델: OAST(Out-of-Band AST) 아키텍처를 내장하여 외부 서버(Collaborator)와의 비동기 통신을 유발, 블라인드 취약점을 정확히 탐지함.
  • 특징 2 — 인증·암호화 방식: HSTS 및 최신 TLS가 적용된 타겟을 가로채기 위해 Burp 고유의 Root CA를 브라우저 신뢰 저장소에 강제 등록하는 방식을 취함.
  • 특징 3 — 버전별 보안 차이: Pro 버전은 능동형(Active) 스캐너를 통해 Payload를 직접 주입하나, Community 버전은 수동 분석 기능에만 제약됨.
  • 특징 4 — 에러 처리 및 로깅: Logger 탭을 통해 스캐너 및 모든 모듈이 사출한 요청/응답의 원시 패킷과 HTTP 상태 코드를 실시간 감사(Audit)함.
  • 특징 5 — 성능 및 확장성: BApp 스토어를 통해 Python, Ruby, Java 기반의 서드파티 플러그인(예: JSON Web Token Attacker)을 원클릭으로 통합함.
  • 특징 6 — 의존성 및 통합 포인트: Java Runtime Environment (JRE)에 종속되어 구동됨.
  • 특징 7 — 기본 보안 설정 (Default Security Posture): 로컬 프록시 리스너는 기본적으로 127.0.0.1:8080에 바인딩되어 외부망에서의 무단 프록시 접근을 통제함.

3-2. 실무 관점 장단점 (Pros & Cons)

구분 시스템 관점 특성 보안 및 실무 관점의 트레이드오프
장점 1 업계 표준의 절대성 모의해커들이 가장 신뢰하는 플랫폼으로, 전 세계 레퍼런스가 방대함
장점 2 독보적인 수동 분석 효율 Repeater와 Proxy를 오가는 직관적인 워크플로우로 비즈니스 로직 진단에 최적화
장점 3 강력한 확장성 (BApp) 암호화된 파라미터도 커스텀 확장 플러그인을 통해 런타임에 자동 복호화 후 퍼징
단점 1 평문 통신 또는 취약한 암호화 프록시 중계를 위해 자체 인증서를 브라우저에 강제 주입해야 하는 번거로움 발생
단점 2 치명적인 메모리 누수 JVM 기반이므로 거대한 사이트맵 스캐닝 시 OOM(Out of Memory) 크래시 빈번
단점 3 초보자의 라이브 서버 훼손 능동형 스캐너를 맹목적으로 구동 시 대량의 가비지 데이터 인젝션으로 인한 DoS 유발

3-3. 서비스 포트 및 통신 규격 (IANA Protocol Specification)

포트 프로토콜 서비스명 IANA 공식 역할 보안 위협 및 공격 벡터
8080 TCP HTTP-Alternate 웹 프록시 및 대안 포트 로컬에서 브라우저 트래픽을 가로채는 MITM 진입점
80/443 TCP HTTP/S 웹 데이터 통신 Burp Suite가 파라미터 변조 후 서버로 사출하는 타겟 포트
1337 TCP REST API 임의 할당 포트 Headless 모드 시 API 제어 포트로 활용되며 노출 시 RCE 위험

4. 🛠️ 인프라 셋업 및 구축 명세

4-1. 사전 요구 사항 (Dependencies)

  • 패키지: default-jre (Java Runtime Environment) 및 burpsuite 실행 JAR 파일.
  • 환경 변수: 대규모 타겟 메모리 붕괴 방지를 위한 JVM Heap 할당 옵션(-Xmx) 필수.
  • 버전 제약: 타겟의 최신 TLS 1.3 암호화를 원활히 복호화하기 위해 최신 버전(v2024.x 이상) 유지 권장.

4-2. 시스템 구축 (Step-by-Step)

# [Step 1: 시스템 패키지 업데이트 및 Java 의존성 설치]
apt update && apt install -y default-jre burpsuite

# [Step 2: 대규모 스캐닝을 위한 JVM Heap 메모리 4GB 강제 할당 구동]
java -jar -Xmx4G /usr/bin/burpsuite

# [Step 3: Headless 모드 (GUI 없이 REST API 자동화 봇 구동 시)]
java -Djava.awt.headless=true -jar /usr/bin/burpsuite --project-file=scan.burp &

(📝 동작 해설: -Xmx 옵션은 Burp가 거대한 HTTP 히스토리를 로드할 때 발생하는 메모리 고갈 장애를 커널 레벨에서 방지함.)


5. 📖 상세 명세 (명령어 / API / 프로토콜)

5-1. 기본 구문 및 명령어 구조 (Syntax)

📌 Syntax 표기법: <필수항목> = 반드시 입력 (Required) · [선택항목] = 생략 가능 (Optional)

# CLI 툴킷(Java 런타임) 명령어 구조
<바이너리명> [옵션_플래그] [서브_파라미터] <타겟>

파라미터별 상세 설명

파라미터 필수 여부 타입 역할 및 설명 실전 값 예시
<바이너리명> 필수 실행 파일 JVM 엔진 구동 명령어. java
[옵션_플래그] 선택 스위치 메모리 할당 및 헤드리스(Headless) 모드 제어 플래그. -Xmx8G, -jar
[서브_파라미터] 선택 실행할 jar 파일의 절대 경로. burp.jar
<타겟> 필수 주소 프로젝트 파일(.burp) 로드 등 종단점 인자. --project-file=app.burp

실전 명령어 예시 — 구성 요소 대조

전체 명령어 바이너리 옵션 플래그 서브 파라미터 타겟
java -Xmx4G -jar burp.jar --project-file=app.burp java -Xmx4G -jar burp.jar --project-file=app.burp
java -Djava.awt.headless=true -jar burp.jar java -D... -jar burp.jar (없음)

5-2. 실행 옵션 및 제어 플래그 전체 목록 (Execution Flags)

(Burp는 GUI 내 컨피그가 핵심이므로 실무에서 WAF 우회 및 스캔 정밀도를 제어하는 핵심 파라미터를 명세함.)

🔗 연결 옵션 — 타겟 호스트·포트 지정 및 연결 방식 제어

플래그 (GUI 경로) 동작 원리 및 공식 매뉴얼 기반 설명 완전한 실전 사용 예시 실무/보안 활용 관점
Proxy &gt; Bind to port 로컬 리스너 포트 및 인터페이스 바인딩 127.0.0.1:8080 지정 브라우저 트래픽 가로채기를 위한 진입점 통제
Network &gt; Upstream proxy 타겟 도달 전 거쳐야 할 사내망 프록시 체이닝 설정 Proxy: 10.1.1.1:3128 폐쇄망 내부에서 외부로 타격 시 필수 우회로 세팅
Project &gt; Match & Replace 오가는 패킷의 특정 정규식을 런타임 자동 치환 User-AgentGooglebot WAF의 디폴트 탐지 차단 기만 및 스텔스 스캐닝

🔐 인증 옵션 — 자격증명 및 세션 제어

플래그 (GUI 경로) 동작 원리 및 공식 매뉴얼 기반 설명 완전한 실전 사용 예시 실무/보안 활용 관점
Network &gt; Platform Auth NTLM, Basic 인증이 걸린 망 진입 시 헤더 자동 주입 Type: NTLM, User: root 인증을 돌파하고 내부망 개발 서버 취약점 스캐닝 강행
Network &gt; Client SSL mTLS를 요구하는 API 타격 시 클라이언트 인증서 로드 P12 파일 로드 및 PW 입력 금융권/공공망 폐쇄 API 모의해킹 시 인증서 피닝 우회

📄 출력 옵션 — 결과 포맷·상세도·저장 경로 제어

플래그 (GUI 경로) 동작 원리 및 공식 매뉴얼 기반 설명 완전한 실전 사용 예시 실무/보안 활용 관점
Scanner &gt; Crawl Limit JS 렌더링 및 크롤링 뎁스(Depth) 상한선 조정 Fastest / Limit 뎁스 3 방대한 레거시 서버 스캔 시 무한 루프 붕괴 방지
Target &gt; Save as XML 맵핑된 도메인 트리 및 취약점 증거를 파일로 덤프 HTML/XML 리포트 저장 모의해킹 최종 산출물 및 개발팀 이관용 포렌식 리포팅

⏱ 타이밍 옵션 — 스캔 속도·스레드·딜레이 제어

플래그 (GUI 경로) 동작 원리 및 공식 매뉴얼 기반 설명 완전한 실전 사용 예시 실무/보안 활용 관점
Intruder &gt; Resource Pool 동시 사출 스레드(Threads) 수 및 요청 딜레이 조정 Threads: 1, Delay: 1.5s WAF의 속도 제한(Rate Limiting) 우회 및 스텔스 퍼징

자주 쓰는 옵션 조합

목적 조합 예시 (GUI 로직)
비파괴 안전 스캐닝 Scanner &gt; Audit Issues 에서 Light Active Scan 체크로 DB 훼손 방지
브루트포스 타격 극대화 Intruder &gt; Payloads &gt; Type: Cluster Bomb + ID/PW 사전 파일 결합

5-3. 비대화형 명령어 (Non-Interactive Commands)

(최신 DevSecOps 파이프라인에서 CLI 및 REST API로 자동화하는 명령어 명세임.)

🔍 정찰 및 열거

명령어 파싱 메커니즘 및 런타임 결과 완전한 실전 사용 예시
curl -X POST JSON 페이로드로 타겟 URL을 REST API에 전송하여 백그라운드 자동 크롤링 킥오프함 curl -X POST -k "http://127.0.0.1:1337/v0.1/scan" -d '{"urls":["http://10..."]}'

💥 익스플로잇 및 페이로드 전달

명령어 파싱 메커니즘 및 런타임 결과 완전한 실전 사용 예시
sqlmap --proxy 외부 해킹 툴(SQLmap)의 트래픽을 Burp 로컬 포트로 라우팅하여 공격 패킷을 디버깅함 sqlmap -u "http://10.0.0.100/vuln.php?id=1" --proxy="http://127.0.0.1:8080"

🎯 포스트 익스플로잇 및 유틸리티

명령어 파싱 메커니즘 및 런타임 결과 완전한 실전 사용 예시
curl -X GET 킥오프된 스캔 태스크의 진행 상태(%, 발견된 이슈 수)를 JSON 형식으로 파싱하여 반환함 curl -X GET -k "http://127.0.0.1:1337/v0.1/scan/1/status" &#124; jq

5-4. 대화형 내부 명령어 (Interactive Commands)

(Burp Suite 실무 템포를 장악하는 모의해커의 핵심 단축키 명세임.)

🗂 탐색 및 열거

내부 명령 기술적 동작 및 설명 실전 타이핑 예시 적용 시나리오
[Ctrl] + [R] 캡처한 패킷을 수동 조작 모듈(Repeater)로 전송함 단축키 입력 의심스러운 파라미터(예: id=1)를 직접 변조 및 재전송할 때
[Ctrl] + [I] 패킷을 무차별 대입 모듈(Intruder)로 전송함 단축키 입력 로그인 실패 폼을 캡처하여 브루트포스 공격을 세팅할 때
[Ctrl] + [Space] Repeater 탭에서 조작된 패킷을 타겟 서버로 즉시 사출함 단축키 입력 마우스 클릭 없이 패킷 반응을 밀리초 단위로 확인할 때

6. 🚀 핵심 페이로드 치트시트 (Cheat Sheet)

실전 모의해킹 시 Intruder를 활용하여 WAF를 뚫고 취약점을 타격하는 조합 페이로드 및 우회 로직 치트시트임.

페이로드 (Intruder / Match & Replace) 파싱 메커니즘 및 런타임 결과 목적 / 우회 기법
Pitchfork 타입 + ID/PW Wordlist 2개의 파라미터 위치에 각기 다른 사전 파일을 1:1로 매칭하여 동시 무차별 대입함 가장 효율적인 크리덴셜 스터핑(Credential Stuffing) 계정 탈취
Transfer-Encoding: chunked Chunked BApp 확장을 통해 악성 페이로드(<script>)를 바이트 단위로 쪼개서 전송 시그니처 정규식에 의존하는 구형 L7 방화벽 검사 완벽 기만
X-Forwarded-For: 127.0.0.1 헤더 치환을 통해 모든 요청이 로컬에서 온 것처럼 위조하여 서버에 인젝션 관리자 페이지 IP 접근 통제(ACL) 및 Rate Limiting 일괄 무력화

7. 🎯 심층 킬체인 워크플로우 (Deep Dive)

7-1. 취약점 식별 (CVE / CWE)

Burp Suite의 Intercept 기능을 통해 즉각적으로 노출되고 장악당하는 치명적 웹 설계 결함(CWE) 목록임.

식별 코드 취약점 명칭 및 익스플로잇 연계 원리 파급력 (Impact) 대응/패치 방안
CWE-89 SQL Injection — 폼 파라미터(id=admin'--)를 Repeater로 변조 전송하여 DB 쿼리 논리 우회 백엔드 데이터베이스 덤프 및 관리자 권한 완전 장악 MyBatis/JPA 등 프레임워크 기반의 Prepared Statement 구조 강제화
CWE-79 Cross-Site Scripting (XSS) — 클라이언트 JS 길이 제한을 Proxy에서 우회하여 스크립트 강제 주입 타 사용자의 세션 쿠키 탈취 및 브라우저 강제 악성코드 드롭 출력되는 모든 사용자 입력값에 대해 HTML Entity 멸균 인코딩 적용
CWE-601 Open Redirect — 리다이렉트 파라미터(next=)를 해커 도메인으로 변조하여 전송 피싱 사이트로 유도하여 사용자 자격 증명 2차 탈취 리다이렉트 대상 도메인을 서버 내 화이트리스트 배열로 하드코딩

7-2. 킬체인 전개 스텝 분석

  • 난이도: 초급
  • 전제: 타겟망(10.0.0.100) 쇼핑몰 결제 모듈에서 '상품 가격'이 클라이언트 측에서 서버로 평문 전송되는 아키텍처 결함 존재함.
  • 탐지 가능성: Medium (WAF에 비정상 파라미터 룰셋 부재 시 탐지 불가)
Phase 1 — 통신 Intercept 및 파라미터 파악 (Reconnaissance)
# 브라우저에서 '결제' 버튼을 클릭하는 순간 Burp Proxy가 트래픽을 정지(Intercept)시킴
POST /checkout.php HTTP/1.1
Host: 10.0.0.100
...
item_id=1024&price=50000&qty=1
Phase 2 — 비즈니스 로직 수동 변조 (Weaponization)
# 해커가 패킷을 풀어주기 전, 에디터에서 price 값을 '0'으로 수동 조작 후 Forward(전송)함
item_id=1024&price=0&qty=1
Phase 3 — 로직 우회 및 횡적 이동 (Actions on Objectives)
# [결과 렌더링: 서버사이드 무결성 검증 누락으로 인한 0원 결제 승인 완료]
HTTP/1.1 200 OK
{"status": "success", "message": "결제가 완료되었습니다. 금액: 0원"}

8. ⚔️ 실전 심화 시나리오

📘 Scenario: WAF 시그니처 룰셋 우회를 위한 HTTP Parameter Pollution (HPP) 공격

  • 학습 목표: 타겟 앞단 ModSecurity WAF가 UNION SELECT 시그니처를 차단할 때, Repeater를 이용해 파라미터 변수를 중복 전송하는 HPP 기법으로 파서(Parser)의 맹점을 찔러 우회함.
# [Step 1: 기본 페이로드 사출 및 WAF 차단 확인]
# Burp Repeater 전송:
GET /vuln.php?id=1 UNION SELECT password FROM users HTTP/1.1
# 결과: WAF가 악성 문자열 감지 후 HTTP 403 Forbidden 반환

# [Step 2: HPP 페이로드 분리 인젝션]
# 파라미터 'id'를 두 번 선언하여 WAF와 WAS(PHP)의 파싱 해석 차이를 유도함.
# WAF는 첫 번째 id(=1)만 검사하지만, 백엔드는 마지막 파라미터(UNION...)를 병합 실행함.
GET /vuln.php?id=1&id=UNION SELECT password FROM users HTTP/1.1

# [결과 검증]
# L7 방화벽의 시그니처 정규식을 완벽히 우회하고 타겟 서버의 DB 비밀번호 해시 테이블을 덤프 탈취함.

9. 🩹 트러블슈팅 및 장애 대응 (RCA)

에러 로그 (Symptom) 발생 원인 (Root Cause) 해결책 (Resolution)
Your connection is not private (NET::ERR_CERT_AUTHORITY_INVALID) 브라우저가 Burp Suite가 동적으로 생성한 가짜 인증서를 신뢰하지 않아 HTTPS 통신 하드 브레이크 http://burp 에 접속하여 PortSwigger CA 인증서를 다운로드 후 브라우저 '루트 인증기관'에 수동 등록
java.lang.OutOfMemoryError: Java heap space 거대한 사이트맵 스캐닝 누적으로 인해 JVM 기본 메모리(1GB) 한계 도달 붕괴 CLI 기동 시 java -Xmx8G -jar burp.jar 옵션을 부여하여 램 점유 한계치를 오버라이드
The client failed to negotiate a TLS connection... 타겟 서버가 레거시 TLS 1.0 등 비표준 알고리즘을 사용하여 Burp Java 엔진과 호환 실패 Project Options > TLS 메뉴에서 구형 프로토콜 및 모든 Cipher Suite를 강제 활성화 조치

10. 🛡️ 방어 아키텍처 및 위협 헌팅 엔지니어링

10-1. MITRE D3FEND 매핑

방어 전술 (Tactic) 방어 기법 (Technique) 차단 원리 및 메커니즘 ID (Code)
Isolate Network Traffic Filtering WAF를 전진 배치하여 알려진 스캐너의 시그니처 및 헤더 패턴 원천 차단 D3-NTF
Detect Rate Limiting Intruder 봇 퍼징이 유발하는 짧은 시간 내 대규모 동일 파라미터 요청 임계치 격리 D3-RL
Harden Connection Authentication API 통신 시 인증서 피닝(Certificate Pinning)을 강제하여 Burp 프록시 중계 무력화 D3-CA
Harden Message Encryption 파라미터 난독화 및 AES 전송을 통해 Repeater 수동 조작 시 무결성 검증 에러 유도 D3-ME

10-2. 인프라 하드닝 및 방어 기준

  • 파라미터 무결성 아키텍처:
    1. 클라이언트(브라우저)에서 넘어오는 모든 입력값은 절대 신뢰해서는 안 되며, 반드시 백엔드 서버의 세션 변수 및 데이터베이스 원본 값과 교차 검증(Server-side Validation)해야 함.
    2. 스캐너의 대량 폼(Form) 제출을 방어하기 위해 핵심 로직에 CSRF Anti-Token을 강제 인포싱함.

10-3. IaC 기반 자동화 보안 설정 (ModSecurity 방어 룰셋)

# [ModSecurity 방어 룰셋: Burp Scanner 고유 헤더 및 퍼징 트래픽 L7 차단 인포싱]

# 1. Burp 스캐너가 삽입하는 디폴트 헤더 문자열(Collaborator 핑거프린트 등) 즉각 차단
SecRule REQUEST_HEADERS:User-Agent "burpcollaborator" "id:1001,phase:1,deny,status:403,msg:'Burp Suite Scanner Detected'"

# 2. XSS 및 SQLi의 조작 특수문자(<, >, ', UNION)가 파라미터에 포함 시 Drop
SecRule ARGS|REQUEST_URI "@rx (?i)(union.*select.*|script.*>|onmouseover.*=)" "id:1002,phase:2,deny,status:406,msg:'Malicious Payload Injection Blocked'"

# 3. 단일 IP에서 10초 내 동일 로그인 URI에 20회 이상 접근 시 격리(Rate Limit)
SecRuleIP REQUEST_URI "/login.php" "id:1003,phase:1,pass,nolog,setvar:ip.login_count=+1,expirevar:ip.login_count=10"
SecRule IP:LOGIN_COUNT "@gt 20" "id:1004,phase:1,deny,status:429,msg:'Brute Force Attempt Detected by Intruder'"

10-4. 인시던트 대응 절차 (IR Playbook)

단계 대응 행동 담당 소요 시간
1. 탐지 WAF 로깅에서 특정 외부 IP의 403/406 에러 폭주(Intruder 퍼징 징후) 알람 인지 SOC Analyst T+0
2. 격리 경보를 유발한 출발지 IP 대역 전체를 WAF 블랙리스트에 긴급 등록(Drop 처리) IR Team T+5분
3. 증거수집 스캐너가 타격한 파라미터 중 HTTP 200 OK 응답이 발생한 성공 엔드포인트 리버스 추적 분석 Forensic Analyst T+30분
4. 원인분석 조작된 파라미터가 DB 쿼리를 변조(SQLi)했는지 소스코드 레벨 교차 검증 IR Team / Dev T+2시간
5. 쇄신 타격당한 파라미터에 대한 서버사이드 유효성 검사 패치 긴급 배포 SysAdmin T+4시간

10-5. 위협 헌팅 탐지 룰셋 (Suricata NIDS)

# [Suricata 룰] Burp Collaborator 도메인 질의 시그니처 헌팅 (OAST 스캔 방어)
alert dns $HOME_NET any -> any any (msg:"ET HUNTING Burp Collaborator DNS Query Detected"; dns.query; content:".burpcollaborator.net"; nocase; classtype:attempted-recon; sid:5000001; rev:1;)

# [Suricata 룰] 웹 해킹 툴의 전형적인 User-Agent 패턴 헌팅
alert http $EXTERNAL_NET any -> $HOME_NET any (msg:"ET SCAN Burp Suite User-Agent Detected"; flow:established,to_server; http.user_agent; content:"BurpCollaborator"; nocase; classtype:attempted-recon; sid:5000002; rev:1;)

11. 🔗 글로벌 공식 레퍼런스 데이터베이스 (References)

  • PortSwigger (Burp 공식 벤더사): https://portswigger.net/burp
  • NVD (National Vulnerability Database): https://nvd.nist.gov/
  • MITRE ATT&CK 기술 분석: https://attack.mitre.org/techniques/T1595/002/
  • OWASP 공식 가이드: https://owasp.org/
  • IANA 공식 프로토콜 명세서 (RFC): https://datatracker.ietf.org/doc/html/rfc2616
  • CWE 공식 데이터베이스 (CWE-89 등): https://cwe.mitre.org/data/definitions/89.html
  • Exploit-DB: https://www.exploit-db.com/
  • KISA 보안 취약점 가이드: https://www.kisa.or.kr/

12. 🏁 결론 및 비즈니스 임팩트 (Wrap-up)

🎓 이 포스팅에서 배운 것

  • 공격 관점: 클라이언트 측 데이터 검증을 우회하고 브라우저 트래픽을 가로채어 변조하는 프록시(Proxy) 기반 공격의 원리를 파악함.
  • 방어 관점: WAF의 속도 제한 룰셋 설계법, 그리고 서버사이드 파라미터 무결성 검증 부재가 가져오는 킬체인 파급력을 익힘.
  • 다음 단계: 통제된 랩 환경을 구축하고 Burp Repeater를 이용해 직접 파라미터 난독화 및 WAF 우회 인젝션을 수행하는 실습을 강력히 권장함.

🔰 엔지니어링 방어 철학

(✏️ Architected by Elpam.k)
"아름답게 코딩된 프론트엔드 UI와 자바스크립트 유효성 검증은, 해커가 Burp Suite 프록시를 켜는 순간 아무런 의미 없는 종이 쪼가리로 전락함." 웹 서비스 해킹의 90%는 개발자가 '클라이언트에서 넘어오는 데이터는 정상일 것'이라고 믿는 순진한 가정에서 비롯됨. 방화벽이 막아줄 것이라는 안일함은 WAF 우회 기법 앞에 처참히 무너짐. 진정한 보안 엔지니어는 브라우저가 보내는 단 1바이트의 파라미터조차 해커가 위조한 폭탄일 수 있다는 '제로 트러스트(Zero Trust)' 마인드셋을 가지고, 백엔드 DB에 도달하기 전 모든 데이터의 무결성을 서버사이드에서 강제 멸균 처리(Sanitization)하는 아키텍처를 영구적으로 인포싱해야 함.

'보안 기술 > 해킹 툴' 카테고리의 다른 글

Netcat(nc)  (0) 2026.04.08
cURL  (0) 2026.04.08
Wireshark  (1) 2026.04.08
Gobuster (고버스터)  (0) 2026.04.08
Nmap (Network Mapper)  (2) 2026.04.08

Discussion 0