Burp Suite 에서 프록시 HTTP 히스토리 필터링하기

Beginner
지금 연습하기

소개

Burp Suite 는 웹 애플리케이션 보안 테스트를 위한 강력한 도구입니다. 핵심 구성 요소 중 하나인 Proxy 는 브라우저와 대상 애플리케이션 간의 모든 HTTP/S 트래픽을 가로채고 기록합니다. HTTP 히스토리 탭은 수백 또는 수천 개의 요청으로 빠르게 채워질 수 있어 관심 있는 특정 항목을 찾기 어렵게 만듭니다.

이 랩에서는 Proxy HTTP 히스토리 내의 강력한 필터링 기능을 사용하는 방법을 배우게 됩니다. 이러한 필터를 숙달하는 것은 트래픽을 효율적으로 분석하고, 취약점을 식별하며, 테스트 노력을 애플리케이션의 가장 관련성 높은 부분에 집중하는 데 필수적입니다.

Proxy > HTTP History 탭으로 이동

이 단계에서는 Burp Suite 를 시작하고 프록시된 모든 트래픽이 기록되는 HTTP 히스토리 탭으로 이동합니다.

먼저 Burp Suite 를 실행해야 합니다. 일반적으로 데스크톱 환경의 애플리케이션 메뉴에서 찾거나 터미널에서 실행할 수 있습니다.

Burp Suite 가 실행되면 상단에 여러 탭 (Dashboard, Target, Proxy, Intruder 등) 이 있는 메인 창이 표시됩니다. Proxy 탭은 인터셉트 프록시를 제어하고 요청 기록을 볼 수 있는 곳입니다.

Proxy 탭을 클릭합니다. Proxy 탭 내에서 여러 하위 탭을 볼 수 있습니다. HTTP history 하위 탭을 클릭합니다.

이제 Burp 의 프록시를 통과한 HTTP 요청 목록이 포함된 테이블이 표시됩니다. 이미 일부 샘플 트래픽을 생성했습니다.

'Filter' 바를 클릭하여 필터 옵션 표시

이 단계에서는 히스토리 테이블에 표시되는 요청을 제어할 수 있는 필터 옵션을 표시합니다.

기본적으로 HTTP 히스토리는 캡처된 모든 항목을 표시합니다. 요청 테이블 위에는 "Filter: Showing all items"라는 텍스트가 있는 연한 회색 바가 표시됩니다. 이 바는 상세 필터 컨트롤을 숨깁니다.

필터 옵션을 표시하려면 이 필터 바를 아무 곳이나 클릭하기만 하면 됩니다.

클릭하면 바가 아래로 확장되어 HTTP 히스토리를 필터링하기 위한 포괄적인 옵션 세트가 표시됩니다. 이것은 다음 단계에서 요청을 좁히는 데 사용할 제어판입니다.

'Show only in-scope items' 체크하기

이 단계에서는 가장 중요한 필터 중 하나인 스코프 필터를 사용하는 방법을 배웁니다. 이를 통해 대상 애플리케이션과 관련된 트래픽에만 집중할 수 있습니다.

먼저 대상 스코프가 무엇인지 정의해야 합니다.

  1. Target 탭으로 이동합니다.
  2. Scope 하위 탭을 클릭합니다.
  3. "Target Scope" 섹션에서 Add 버튼을 클릭합니다.
  4. 대화 상자가 나타납니다. 대상 (target) 으로 http://portswigger-labs.net을 입력하고 OK를 클릭합니다. Burp Suite 에서 스코프 외부 항목을 히스토리로 보내는 것을 중지할 것인지 물을 수 있습니다. 이 랩에서는 필터 작동을 보기 위해 No를 클릭합니다.

이제 Proxy > HTTP history 탭으로 다시 이동합니다. 이전 단계에서 연 필터 옵션에서 "Filter by request type" 섹션을 찾습니다.

Show only in-scope items 레이블이 붙은 확인란을 선택합니다.

즉시 히스토리 테이블의 요청 목록이 업데이트됩니다. 이제 portswigger-labs.net으로 보낸 요청만 표시됩니다. example.com으로의 요청은 숨겨져 스코프 기반 필터링의 강력함을 보여줍니다.

MIME 유형별 필터링 (예: HTML)

이 단계에서는 응답의 MIME 유형을 기준으로 필터링하여 보이는 히스토리를 더욱 세분화합니다. 이는 웹 페이지, 스크립트 또는 이미지와 같은 특정 유형의 콘텐츠를 찾는 데 유용합니다.

필터 옵션이 여전히 보이는 상태에서 "Filter by MIME type" 섹션을 찾습니다. 이 섹션을 통해 응답의 Content-Type 헤더를 기반으로 요청을 표시하거나 숨길 수 있습니다.

  1. 라디오 버튼이 Show only로 설정되어 있는지 확인합니다.
  2. HTML 옆의 확인란을 선택합니다.

HTML 확인란을 선택하면 HTTP 히스토리 테이블이 다시 업데이트됩니다. 이제 HTML MIME 유형의 응답을 반환한 스코프 내 요청만 표시됩니다. CSS 파일 (main.css) 에 대한 요청은 숨겨지고 메인 페이지 요청만 남게 됩니다. 이 기법은 사용자에게 보이는 페이지를 스타일시트, 스크립트 및 이미지와 같은 다른 리소스와 분리하는 데 매우 효과적입니다.

응답 본문에서 검색어로 필터링하기

이 단계에서는 검색어 필터를 사용하여 응답 내 특정 콘텐츠를 기반으로 요청을 찾습니다. 이는 특정 기능, 오류 메시지 또는 잠재적 취약점을 찾는 데 매우 강력한 기능입니다.

필터 옵션에서 하단에 있는 "Filter by search term" 섹션을 찾습니다.

  1. 텍스트 필드에 PortSwigger라는 단어를 입력합니다.
  2. Response body 옆의 확인란이 선택되어 있는지 확인합니다. 이는 Burp 에게 HTTP 응답 본문 내부를 검색하도록 지시합니다.
  3. 드롭다운을 "Literal search"로 설정된 상태로 둡니다. 이렇게 하면 입력한 정확한 텍스트를 검색합니다.

이제 HTTP 히스토리는 이전의 모든 기준 (스코프 내, HTML) 을 충족하고 응답 본문에 "PortSwigger"라는 리터럴 문자열을 포함하는 항목만 표시하도록 필터링됩니다. 이를 통해 캡처된 트래픽에 대한 매우 구체적이고 표적화된 분석이 가능합니다. 드롭다운을 "Literal search"에서 "Regex"로 변경하여 더 복잡한 검색 패턴에 정규 표현식을 사용할 수도 있습니다.

요약

이 실습에서는 Burp Suite 의 프록시 HTTP 히스토리를 필터링하는 기본적인 기술을 배웠습니다. 히스토리 탭으로 이동하여 필터 옵션을 표시하는 것부터 시작했습니다. 그런 다음 여러 유형의 필터를 조합하여 적용하는 연습을 했습니다.

  • 스코프 (Scope): 특정 대상을 집중하여 노이즈를 줄입니다.
  • MIME 유형 (MIME Type): HTML 과 같은 특정 콘텐츠 유형을 분리합니다.
  • 검색어 (Search Term): 응답 내 특정 콘텐츠를 기반으로 요청을 찾습니다.

이러한 필터링 기술을 숙달하는 것은 모든 웹 보안 전문가에게 중요합니다. 이를 통해 크고 복잡한 웹 애플리케이션을 분석할 때 더 효율적이고 효과적으로 작업할 수 있습니다.