자동화
자동화는 페이로드를 제어하여 바꾸면서 하나의 요청 템플릿을 여러 번 전송합니다. 이를 통해 매개변수를 열거하고, 입력을 퍼징하며, 대규모로 접근 제어를 테스트할 수 있습니다.
세션 만들기
- HTTP 기록 또는 재전송에서 요청을 엽니다.
- 요청을 마우스 오른쪽 버튼으로 클릭하여 자동화로 보내기를 선택하거나 도구 모음 버튼을 사용합니다.
- 요청이 세션 템플릿으로 열립니다. 이후의 모든 설정은 이 템플릿에 적용됩니다.
페이로드 위치
페이로드 위치는 페이로드를 삽입할 곳을 표시합니다. Ogma는 요청마다 각 표시를 페이로드 값으로 바꿉니다.
- 요청 편집기에서 텍스트를 선택하고 선택 영역 표시를 클릭하여 위치 표시를 추가합니다.
- 표시의 핸들을 클릭하고 제거를 선택하면 표시를 삭제할 수 있습니다.
- 여러 위치를 지정할 수 있습니다. 동작은 공격 모드에 따라 달라집니다.
공격 모드
| 모드 | 동작 |
|---|---|
| 스나이퍼 | 한 번에 한 위치를 처리합니다. 각 위치에 모든 페이로드를 차례로 적용합니다. 총 요청 수는 페이로드 수와 위치 수의 곱입니다. |
| 배터링 램 | 모든 위치에 동일한 페이로드 값을 동시에 사용합니다. |
| 피치포크 | 여러 위치를 병렬로 처리합니다. 목록 A의 첫 페이로드와 목록 B의 첫 페이로드를 짝짓고, 이후에도 같은 방식으로 진행합니다. 가장 짧은 목록을 모두 사용하면 멈춥니다. |
| 클러스터 밤 | 모든 위치에 걸친 모든 조합을 시도합니다. 요청 수는 모든 목록 길이의 곱입니다. 작은 목록에 사용하세요. |
| 순차 실행 | 각 응답에서 설정한 값을 추출하여 다음 요청에 삽입합니다. 시작 전에 추출기, 대상 위치, 반복 횟수 제한을 설정하세요. |
페이로드 소스
| 소스 | 설명 |
|---|---|
| 워드리스트 | 줄바꿈으로 구분된 파일을 불러오거나 값을 직접 붙여 넣습니다. |
| 숫자 | 시작값, 끝값, 간격을 지정하여 숫자 범위를 생성합니다. |
| 널(빈 값) | 설정한 반복 횟수만큼 해당 위치를 빈 문자열로 바꿉니다. 원래 표시한 텍스트를 유지하지 않습니다. |
| 사용자 지정 목록 | 파일 없이 값을 직접 입력합니다. |
일치 조건
일치 조건은 조건을 충족한 결과 행에 표시를 추가합니다. 행을 필터링하지 않으며, 일치 조건마다 불리언 열을 추가합니다.
- + 일치 조건을 클릭하여 일치 조건을 추가합니다.
- AI로 조건을 자연어로 설명하거나 직접 설정합니다.
| 일치 조건 유형 | 일치하는 경우 |
|---|---|
| 상태 | 응답 코드가 지정한 값과 같거나 다릅니다. |
| 크기 | 응답 본문 길이가 지정한 범위에 속합니다. |
| 본문 내용 | 응답 본문이 문자열을 포함하거나 문자열 또는 정규식과 일치합니다. |
중지 조건
중지 조건은 일치 조건이 충족되면 실행을 멈춥니다.
- 응답 상태 또는 크기, 비교 연산자, 값을 사용하여 중지 조건을 설정합니다.
- 일치하는 결과가 나오면 실행이 일시 중지됩니다. 이미 전송 중인 요청은 이후에도 완료될 수 있습니다.
유효한 인증 정보나 검사 우회처럼 첫 성공 결과만 필요한 경우에 유용합니다.
추출기
추출기는 각 응답에서 값을 가져와 이름이 지정된 열에 저장합니다.
- CSRF 토큰, 세션 ID, nonce를 추출하여 연속된 요청에 사용합니다.
- AI로 추출 대상을 설명하거나 본문 정규식, 본문 Grep, 응답 헤더 추출을 직접 설정합니다.
- 추출된 값은 결과 테이블의 열로 표시됩니다.
- 순차 실행 모드에서는 요청 연결에 사용할 추출기를 명시적으로 설정하세요. 결과를 다른 세션으로 보내도 해당 세션의 토큰 추출이 자동으로 설정되지는 않습니다.
결과 테이블
완료된 요청마다 하나의 행이 생성됩니다.
| 열 | 설명 |
|---|---|
| # | 요청 순서 번호입니다. |
| 상태 | HTTP 응답 코드입니다. |
| 크기 | 응답 본문 길이이며 단위는 바이트입니다. |
| 시간 | 왕복 시간이며 단위는 밀리초입니다. |
| 페이로드 | 이 요청에 사용된 페이로드 값입니다. |
| 일치 조건 열 | 설정한 일치 조건마다 하나의 불리언 열입니다. |
| 추출기 열 | 설정한 추출기마다 하나의 추출 값 열입니다. |
행을 클릭하면 검사 패널에서 전체 요청과 응답을 열 수 있습니다.
결과 필터링
결과 테이블 위의 필터 입력란에 HTTPQL 표현식을 입력하여 표시할 행을 좁힙니다. 예:
text
result.status.eq:200 AND result.len.gt:500자동화 쿼리는 result.* 네임스페이스를 사용합니다. 추출된 열에는 해당 열의 result.extract.<name> 필드를 사용하세요. HTTP 기록의 req.* 및 resp.* 필드는 자동화 결과 필터와 서로 대체하여 사용할 수 없습니다.
AI 지원
AI 버튼은 일치 조건 및 추출기 설정 필드 옆에 있습니다. 탐지하거나 추출할 내용을 자연어로 설명하면 Ogma가 설정을 생성합니다. 저장하기 전에 결과를 검토하세요.
결과를 다른 도구로 보내기
결과 행을 마우스 오른쪽 버튼으로 클릭하면 다음 작업을 할 수 있습니다.
- 재전송으로 보내기 - 해당 요청과 응답을 재전송에서 열어 수동으로 추가 검증합니다.
- 새 자동화 세션으로 보내기 - 결과 행의 요청을 새 세션의 템플릿으로 사용합니다.
- cURL로 복사 - 요청을 curl 명령으로 복사합니다.