소개
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' 체크하기
이 단계에서는 가장 중요한 필터 중 하나인 스코프 필터를 사용하는 방법을 배웁니다. 이를 통해 대상 애플리케이션과 관련된 트래픽에만 집중할 수 있습니다.
먼저 대상 스코프가 무엇인지 정의해야 합니다.
- Target 탭으로 이동합니다.
- Scope 하위 탭을 클릭합니다.
- "Target Scope" 섹션에서 Add 버튼을 클릭합니다.
- 대화 상자가 나타납니다. 대상 (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 헤더를 기반으로 요청을 표시하거나 숨길 수 있습니다.
- 라디오 버튼이 Show only로 설정되어 있는지 확인합니다.
- HTML 옆의 확인란을 선택합니다.
HTML 확인란을 선택하면 HTTP 히스토리 테이블이 다시 업데이트됩니다. 이제 HTML MIME 유형의 응답을 반환한 스코프 내 요청만 표시됩니다. CSS 파일 (main.css) 에 대한 요청은 숨겨지고 메인 페이지 요청만 남게 됩니다. 이 기법은 사용자에게 보이는 페이지를 스타일시트, 스크립트 및 이미지와 같은 다른 리소스와 분리하는 데 매우 효과적입니다.
응답 본문에서 검색어로 필터링하기
이 단계에서는 검색어 필터를 사용하여 응답 내 특정 콘텐츠를 기반으로 요청을 찾습니다. 이는 특정 기능, 오류 메시지 또는 잠재적 취약점을 찾는 데 매우 강력한 기능입니다.
필터 옵션에서 하단에 있는 "Filter by search term" 섹션을 찾습니다.
- 텍스트 필드에
PortSwigger라는 단어를 입력합니다. - Response body 옆의 확인란이 선택되어 있는지 확인합니다. 이는 Burp 에게 HTTP 응답 본문 내부를 검색하도록 지시합니다.
- 드롭다운을 "Literal search"로 설정된 상태로 둡니다. 이렇게 하면 입력한 정확한 텍스트를 검색합니다.
이제 HTTP 히스토리는 이전의 모든 기준 (스코프 내, HTML) 을 충족하고 응답 본문에 "PortSwigger"라는 리터럴 문자열을 포함하는 항목만 표시하도록 필터링됩니다. 이를 통해 캡처된 트래픽에 대한 매우 구체적이고 표적화된 분석이 가능합니다. 드롭다운을 "Literal search"에서 "Regex"로 변경하여 더 복잡한 검색 패턴에 정규 표현식을 사용할 수도 있습니다.
요약
이 실습에서는 Burp Suite 의 프록시 HTTP 히스토리를 필터링하는 기본적인 기술을 배웠습니다. 히스토리 탭으로 이동하여 필터 옵션을 표시하는 것부터 시작했습니다. 그런 다음 여러 유형의 필터를 조합하여 적용하는 연습을 했습니다.
- 스코프 (Scope): 특정 대상을 집중하여 노이즈를 줄입니다.
- MIME 유형 (MIME Type): HTML 과 같은 특정 콘텐츠 유형을 분리합니다.
- 검색어 (Search Term): 응답 내 특정 콘텐츠를 기반으로 요청을 찾습니다.
이러한 필터링 기술을 숙달하는 것은 모든 웹 보안 전문가에게 중요합니다. 이를 통해 크고 복잡한 웹 애플리케이션을 분석할 때 더 효율적이고 효과적으로 작업할 수 있습니다.
