---
url: https://docs.ogmabox.com/ko/guide/proxy-workflow.md
description: >-
  HTTP 기록, 가로채기, 찾아 바꾸기, WebSocket 기록, 사이트맵, 검색, 발견 사항을 잇는 Ogma의 전체 프록시 워크플로를
  알아봅니다.
---

# 프록시 워크플로 {#proxy-workflow}

Ogma의 프록시 워크플로는 캡처에서 시작하여 재사용 가능한 증거로 끝납니다. 핵심 보기는 침투 테스터가 트래픽을 탐색, 검사, 테스트, 확인, 보고하는 흐름에 맞춰 구성됩니다.

## 작업 공간 구성 {#workspace-layout}

| 섹션 | 보기 |
| --- | --- |
| 개요 | 사이트맵, 엔드포인트, 점검 범위, 필터 |
| 프록시 | 가로채기, HTTP 기록, WS / SSE 기록, 찾아 바꾸기 |
| 테스트 | 재전송, 자동화, 워크플로, 환경 |
| 유틸리티 | 스캐너, OAST, 디코더, 비교, 시퀀서, 경쟁 상태 / 스머글링, 메모, 토큰 도구 |
| 분석 | 검색, 발견 사항, 내보내기 |
| 작업 공간 | 파일, 플러그인 |

## HTTP 기록 {#http-history}

HTTP 기록은 기본 증거 표입니다. 다음에 사용합니다.

* 요청 및 응답 헤더와 본문을 검사합니다.
* 메서드, 호스트, 경로, 상태, 소스, 태그, 본문 내용, 시간으로 필터링합니다.
* 분류를 위해 항목에 태그나 색상을 지정합니다.
* 요청을 재전송, 자동화, 스캐너, 발견 사항 또는 외부 내보내기로 보냅니다.
* 원본 캡처를 보존하면서 불필요한 정적 리소스를 숨깁니다.

권장 워크플로:

1. 대표적인 사용자 흐름을 캡처합니다.
2. 활성 점검 범위로 필터링합니다.
3. 인증, 상태 변경, 업로드, 관리, API 요청에 태그를 지정합니다.
4. 가치가 높은 요청을 재전송으로 보냅니다.
5. 확인된 문제를 연결된 증거와 함께 발견 사항으로 등록합니다.

## 가로채기 {#intercept}

가로채기는 조건에 일치하는 트래픽을 전달하기 전에 일시 중지합니다.

다음이 필요할 때 가로채기를 사용합니다.

* 대상에 도착하기 전에 요청을 수정합니다.
* 불필요한 요청을 버립니다.
* 정확한 상태 전환 시점에서 애플리케이션 동작을 관찰합니다.
* 통제된 트래픽으로 요청 스머글링, 경쟁 상태 또는 인가 경계를 테스트합니다.

대기열이 과도하게 쌓이지 않도록 관리하세요. 가로채기 대기열이 가득 차면 Ogma는 클라이언트를 무한정 차단하는 대신 새 트래픽을 전달하여 워크플로를 보호합니다.

## 찾아 바꾸기 {#match-replace}

찾아 바꾸기는 프록시를 통과하는 트래픽을 자동으로 수정합니다.

일반적인 활용:

* 테스트 헤더 추가.
* bearer 토큰이나 쿠키 교체.
* 기능 플래그 강제 설정.
* 불필요하게 복잡한 헤더 정규화.
* 로그 상관관계 분석을 위한 추적 헤더 주입.

일치 조건을 좁게 설정하세요. 광범위한 규칙은 관련 없는 트래픽을 손상시키고 발견 사항의 재현을 어렵게 할 수 있습니다.

## WebSocket과 SSE {#websocket-and-sse}

Ogma는 WebSocket과 서버 전송 이벤트 트래픽을 HTTP 요청/응답 행과 별도로 추적합니다.

**WS / SSE 기록**은 다음에 사용합니다.

* 연결 메타데이터 검사.
* 메시지 페이로드 검토.
* 스트림 내용 검색.
* 재연결하거나 메시지 변형을 테스트해야 할 때 WebSocket 흐름을 WS 재전송으로 보내기.

## 사이트맵과 엔드포인트 {#sitemap-and-endpoints}

이 개요 보기는 초기에, 그리고 자주 사용하세요.

* **사이트맵**은 캡처한 호스트/경로 구조를 보여 줍니다.
* **엔드포인트**는 JavaScript, 응답, 캡처한 트래픽에서 발견한 API 경로와 라우트를 보여 줍니다.

이 보기는 능동형 테스트로 넘어가기 전에 아직 테스트하지 않은 영역을 식별하는 데 도움이 됩니다.

## 검색과 필터 {#search-and-filters}

Ogma는 HTTPQL 방식의 필터링을 지원합니다. 저장된 필터로 분류 쿼리를 반복해서 사용하세요.

예:

```text
req.host:example.com AND resp.code:500
```

```text
req.path.cont:"/admin" OR req.path.cont:"/api/"
```

```text
resp.header["set-cookie"].exists
```

문법은 [HTTPQL과 StreamQL](../reference/httpql.md)을 참조하세요.

## 발견 사항 {#findings}

발견 사항은 보고를 위한 계층입니다. 좋은 발견 사항에는 다음이 포함되어야 합니다.

* 짧은 제목.
* 심각도와 신뢰도.
* 영향을 받는 호스트, 경로 또는 기능.
* HTTP 기록, 재전송, 자동화 또는 WebSocket 트래픽에서 연결한 증거.
* 재현 단계.
* 영향과 개선 방안.

스캐너 출력은 출발점입니다. 발견 사항을 내보내기 전에 명확한 요청 및 응답 증거를 연결하세요.
