블라인드 SSRF, 블라인드 XXE, 대역 외(out-of-band) 인젝션. 그 어느 것도 응답으로 답하지 않습니다. 대신 다른 서버로 연결을 뻗습니다. OAST는 그 서버를 내 손에 쥐여 줍니다. gori가 리스너에 묶인 페이로드 URL을 발급하고, 그것을 요청에 심으면, 대상이 그리로 보내는 모든 DNS·HTTP 콜백이 가리킬 수 있는 히트로 도착합니다. 이 플레이북은 확인 하나를 처음부터 끝까지 약 10분에 실행합니다.
시작하기 전에. 먼저 엔게이지먼트 준비를 마치고, 후보 인젝션 지점을 하나 준비하세요. 서버가 URL을 가져오거나 호스트명을 해석하게 만들 수 있는 파라미터, 헤더, 필드입니다. 콜백은 그 메타데이터를 보는 공개 인터랙션 서버에 도달하므로, OAST는 테스트 권한이 있는 시스템에만 실행하고, 민감한 작업에는 self-hosted 프로바이더를 선호하세요.
1. 리스너를 시작하고 페이로드 받기
OAST 탭(기본 표시, Fuzzer 옆)을 열고 Ctrl-R을 눌러 리스닝을 시작합니다. gori가 프로바이더(기본은 공개 interactsh)에 등록하고 payload를 발급합니다. 이 세션 동안 나에게만 속하는 고유한 호스트명/URL입니다. g(get payload)로 복사합니다.
리스너를 스크립트나 에이전트 루프에 두고 싶다면 헤드리스로:
gori run oast listen # 임시: 등록이 프로세스와 함께 사라짐
gori run oast listen --save # …프로젝트 세션으로 저장
그냥 listen은 저장소를 쓰지 않아 등록이 프로세스와 함께 사라집니다. 몇 시간 뒤에 오는 콜백에겐 페이로드가 이미 죽어 있다는 뜻이죠. --save는 이를 프로젝트에 기록합니다 — gori run oast list에 보이고, 나중 프로세스에서 gori run oast resume ID로 이어받고, 정리는 gori run oast release ID입니다. MCP에서는 oast_start의 persist: true가 같은 스위치입니다. TUI의 Ctrl-R은 원래부터 세션을 저장하며, r로 재개합니다.
체크포인트. OAST 탭에 살아 있는 payload URL이 보이고, Callbacks 표는 비어 대기 중입니다.
2. 페이로드 심기
그 payload URL을 가져다 대상이 역참조할 만한 곳에 넣습니다. 후보 요청을 Repeater(History에서 Ctrl-R)나 Fuzzer(Shift-I)로 보낸 뒤, Space → Insert OAST payload로 URL을 커서 위치에 떨굽니다. 서버 측 페치를 유발할 만한 곳이라면 어디든 심으세요: URL 파라미터, Host나 X-Forwarded-For 헤더, XXE용 XML 엔티티, 웹훅 필드. 요청을 전송합니다.
체크포인트. 페이로드를 실은 요청이 대상에 도달했습니다. 여기서 응답은 평범해도 괜찮습니다. 핵심은 서버가 그다음 대역 밖에서 하는 일입니다.
3. 콜백 지켜보기
다시 OAST 탭으로 오면, 대상 인프라가 이름을 해석하거나 다시 연결하면서 콜백이 Callbacks 표에 도착합니다. 각각 프로토콜(dns / http / smtp), 소스 IP, 타임스탬프, 그리고 어느 페이로드가 발동했는지 알려 주는 하위 식별자를 담습니다. Ctrl-X는 폴링을 멈추지만 등록은 유지하므로, 이미 심어 둔 페이로드는 계속 해석됩니다. r을 눌러 나중에 재개하면, 자리를 비운 동안 프로바이더가 버퍼링한 것들을 받아 올 수 있습니다.
콜백은 대상이 닿을 이유가 없던 서버에 도달했다는 증거입니다. 콜백의 부재는 안전하다는 증거가 아닙니다. 이그레스(egress)가 필터링될 수 있습니다. 이 경로가 조용했다는 것일 뿐입니다. 침묵만으로 후보를 닫지 마세요.
체크포인트. Callbacks 표에 2단계에서 심은 페이로드와 맞는 행이 최소 하나 놓입니다.
4. 히트를 Issue로 바꾸기
콜백은 이 도구가 만들어 내는 가장 강한 증거이므로 기록하세요. 히트를 선택하고 Shift-F(또는 Space → Add issue)를 눌러 Issue로 정리합니다. 프로토콜과 소스가 미리 채워지고, 원본 인터랙션이 notes로 딸려 들어갑니다. HIGH로 열리며, Tab으로 확정 전에 등급을 다시 매깁니다.
체크포인트. 확인된 콜백이 Issues 탭에 증거가 붙은 Issue로 기록됩니다.
다음 단계
- 분류와 리포트: 확인된 이슈를 산출물로
- OAST: 프로바이더, 리스너 재개, interactsh self-hosting
- CLI Reference: 모든
gori run oast플래그와 저장된 프로바이더 동사