Burp Suite · 2025-12-18

Burp Proxy 고급 설정: 인터셉트 필터과 매치/리플레이스

Burp Proxy에서 인터셉트 필터와 매치/리플레이스를 활용해 요청·응답 트래픽을 정교하게 선별·변형하는 고급 설정 방법과 적용 사례 설명

작성일 : 2025-12-18 ㆍ 작성자 : 관리자
post
목차

개요

Burp Proxy는 웹 트래픽을 중간에서 관찰하고 변형할 수 있는 핵심 도구다. 기본 사용법을 숙지한 뒤라면 인터셉트 필터와 매치/리플레이스 기능을 조합해 더 정교한 테스트 환경을 구성할 수 있다. 이 글은 처음 접하는 사용자도 이해할 수 있게 단계별로 핵심 개념과 실무 활용 예를 정리한다.

인터셉트 필터의 이해

인터셉트 필터는 어떤 요청이나 응답을 중단(intercept)할지 결정하는 규칙 집합이다. 필터는 트래픽 유형, 호스트, 포트, 메서드, MIME 타입 등 다양한 조건을 기반으로 동작한다. 적절한 필터를 사용하면 불필요한 패킷을 걸러내고 관심 있는 항목만 수동으로 검사할 수 있다.

주요 조건

  • HTTP 메서드(GET, POST 등)
  • 호스트 및 포트
  • 응답 상태 코드
  • MIME 타입(예: text/html, application/json)
  • 요청/응답 크기

설계 원칙

필터 설계는 최소 권한 원칙과 유사하다. 가능한 한 좁은 범위를 지정해 인터셉트 빈도를 줄이는 것이 기본이다. 테스트 목적에 따라 예외 규칙을 추가하는 방식이 현실적이다.

매치/리플레이스 기능 개요

매치/리플레이스(Match and Replace)는 트래픽을 자동으로 변경하는 규칙 엔진이다. 요청이나 응답에서 패턴을 찾아 다른 값으로 대체한다. 자주 사용하는 용도는 다음과 같다.

  • 테스트 계정 헤더 변경
  • 토큰 값을 자동화된 값으로 교체
  • 경로 또는 쿼리 파라미터 변형
  • 응답 헤더 수정으로 캐시 제어 테스트

동작 위치

매치/리플레이스는 Proxy, Scanner, Repeater 등 여러 모듈에 적용 가능하다. 적용 범위를 명확히 지정하면 의도치 않은 트래픽 변형을 피할 수 있다.

실무 설정 사례

아래 예시는 흔히 쓰이는 시나리오를 중심으로 구성했다. 각 사례는 인터셉트 필터와 매치/리플레이스를 조합하는 방식으로 설명한다.

사례 1: 특정 호스트의 POST 요청만 인터셉트

목적은 로그인 엔드포인트의 POST 요청만 수동 검사하는 것이다. 인터셉트 필터에서 호스트와 메서드를 결합한다.

  • 호스트: api.example.com
  • 메서드: POST
  • 타입: application/json
# 매치/리플레이스 예시: 요청 본문의 access_token을 테스트 토큰으로 교체
Pattern: "access_token\":\s*\"[^"]+\""
Replace: "access_token\": \"TEST_TOKEN_123\""

사례 2: 자동 인증 토큰 삽입

테스트 스크립트나 수동 탐색 중 토큰을 지속적으로 교체해야 할 때 유용하다. 매치/리플레이스 규칙을 만들어 모든 요청 헤더에 Authorization 값을 넣는다.

# 헤더 교체 예시
Match Type: Request header
Match: ^Authorization:.*$
Replace: Authorization: Bearer TEST_TOKEN_123

사례 3: 응답에서 민감한 정보 마스킹

로그나 화면 캡처를 공유할 때 민감한 값은 자동 마스킹이 안전하다. 응답 바디 패턴을 찾아 대체 문자열로 치환한다.

# 응답 마스킹 예시
Pattern: "email\":\s*\"([^"]+)\""
Replace: "email\": "REDACTED@example.com"

구체적 규칙 작성법

정규 표현식을 활용하면 보다 유연한 매치가 가능하다. 다만 과도한 패턴은 성능 저하를 초래할 수 있다. 가능한 한 구체적으로 작성하는 것이 권장된다.

정규식 작성 팁

  • 문자열 경계(^, $) 사용으로 오탐 감소
  • 비탐욕적 수량자(.*?) 사용으로 불필요한 매칭 방지
  • 이스케이프 문자를 정확히 표기
  • 필요한 캡처 그룹만 사용

예: 쿼리 파라미터 교체

# URL 쿼리에서 userid 값만 교체
Pattern: ([&?]userid=)\d+
Replace: $1REDACTED_ID

테스트 및 검증

규칙을 적용한 뒤 반드시 샘플 트래픽으로 동작을 검증해야 한다. 작은 범위에서 먼저 테스트하고 문제가 없으면 범위를 확장하는 방식이 안전하다.

검증 체크리스트

  • 원래 의도한 요청/응답에만 규칙 적용 여부 확인
  • 로그에 기록된 변경 내용과 실제 패킷 비교
  • 성능 영향 점검(지연이나 CPU 사용 증가 여부)
  • 예외 상황 발생 시 롤백 계획 수립

주의사항과 모범 사례

고급 설정은 강력하지만 위험 요소도 동반한다. 의도치 않은 트래픽 변형은 테스트 결과를 왜곡할 수 있다. 또한 민감 데이터를 다루는 환경에서는 마스킹 정책과 접근 통제가 병행되어야 한다.

권장 행동

  • 변경 규칙은 주석으로 기록해 추적 가능성 확보
  • 환경별로 규칙을 분리해 실수로 생산 트래픽을 변경하지 않도록 설정
  • 정기적으로 규칙을 검토해 불필요한 항목 제거

요약

인터셉트 필터와 매치/리플레이스는 Burp Proxy 고급 설정의 핵심 요소다. 필터로 관심 대상을 좁히고, 매치/리플레이스로 자동화된 변형을 적용하면 효율적인 테스트 환경을 만들 수 있다. 규칙은 구체적으로 작성하고 단계적으로 확장하는 것이 안정적이다. 마지막으로 항상 검증 절차를 통해 의도치 않은 영향이 없는지 확인하는 습관이 필요하다.

Burp Proxy 고급 설정 Burp 인터셉트 필터 설정 Burp 매치 리플레이스 사용법 인터셉트 필터 매치 리플레이스 웹 취약점 분석 프록시 트래픽 제어 정규식 교체 규칙