Burp Collaborator로 OOB 취약점 탐지 심화
Burp Collaborator의 설정, 외부 호출 확인 방법, 탐지 시나리오와 결과 해석을 초보자도 이해하기 쉬운 흐름으로 정리한 기술 설명서
목차
소개
Out-of-Band(OOB) 취약점은 서버가 직접 응답을 반환하지 않더라도 외부 호출을 통해 위험을 드러낸다. Burp Collaborator는 이런 호출을 잡아내기 위해 설계된 툴이다. 이 글은 Burp Collaborator 사용법을 처음 접하는 사람도 이해할 수 있게 구성했다. 단계별로 설정, 검사 흐름, 결과 해석을 다룬다.
Burp Collaborator 개요
무엇을 잡아내나
OOB 취약점은 DNS, HTTP, SMTP 등 외부 호출을 유발한다. 서버가 내부에서 외부로 요청을 보낼 때 그 사실을 통해 SSRF, Blind SQLi, XXE 등 문제를 확인할 수 있다. Burp Collaborator는 고유 도메인을 통해 호출을 감지하고 로그를 제공한다.
사용 사례
- Blind SQL Injection 탐지
- Server-Side Request Forgery(SSRF) 확인
- XXE로 인한 외부 엔티티 호출 확인
- Out-of-Band 데이터 엑스필트레이션 탐지
설정과 준비
Burp 내 Collaborator 활성화
Burp Suite Professional을 사용하면 내장 Collaborator 서버를 이용하거나 외부 Collaborator 서버를 지정할 수 있다. 테스트 환경과 정책에 따라 선택한다. 자체 서버를 운영하면 민감도와 로그 접근성이 올라간다.
테스트 도메인 확보
내장 도메인을 쓸 때는 Burp가 생성한 고유 도메인을 확인한다. 외부 도메인을 쓸 경우에는 DNS와 HTTP 로그를 수집할 수 있도록 설정하고, 방화벽에서 수신을 허용해야 한다.
실전 흐름: Collaborator 외부 호출 확인
1단계: 페이로드 준비
검사에 사용할 페이로드는 가능한 한 유니크해야 한다. 예를 들어 SQL 주입 위치에 아래와 같은 문자열을 삽입하면 서버에서 외부 호출을 유발할 가능성이 있다.
SELECT * FROM users WHERE id = '1' OR '1'='1'; -- <!-- payload: <unique-id>.your-collaborator-domain -->
2단계: 요청 전송
Burp Intruder나 Repeater로 페이로드를 주입한 요청을 서버에 보낸다. 이때 애플리케이션 로그를 함께 확인하면 호출 유발 지점을 좁힐 수 있다.
3단계: Collaborator 로그 확인
Burp의 Collaborator Interactions 탭에서 DNS, HTTP, SMTP 호출 로그를 확인한다. 호출이 감지되면 타임스탬프, 호출 유형, 요청 내용 일부가 표시된다. 이 정보를 기반으로 취약점 여부를 판단한다.
탐지 시나리오별 접근
Blind SQLi
일부 데이터베이스는 외부 프로토콜을 이용해 이름을 해석하거나 외부 리소스를 호출할 수 있다. 쿼리에서 외부 도메인을 참조하도록 조작하면 Collaborator에서 해당 호출을 확인할 수 있다.
SSRF
서버가 외부 URL을 가져올 때 발생한다. URL 파라미터나 파일 업로드 처리에서 내부 주소가 외부로 연결되도록 조작하면, Collaborator에서 HTTP 요청 로그가 남는다.
XXE
XML 외부 엔티티를 이용하면 서버가 외부 엔티티를 불러온다. DOCTYPE을 조작해 외부 도메인을 참조하면 DNS나 HTTP 호출이 발생한다. 이 역시 Collaborator로 검증 가능하다.
결과 해석과 우선순위
로그 분석
- DNS 호출만 존재하면 일부 정보 노출 또는 SSRF 가능성 시사
- HTTP 요청이 있으면 더 직접적인 데이터 전송 또는 리소스 접근 시사
- 콜백의 페이로드와 호출 시점으로 취약 지점 추적
취약도 판단
호출이 감지되더라도 실제 영향도는 컨텍스트에 따라 다르다. 내부 네트워크 접근, 인증 우회 가능성, 민감 데이터 노출 여부 등을 종합해 심각도를 판단한다.
예제: Collaborator 도메인 삽입 요청
아래는 HTTP 요청에 Collaborator 도메인을 삽입한 간단한 예다. <unique-id>는 테스트마다 변경한다.
GET /vulnerable?url=http://<unique-id>.your-collaborator-domain/ HTTP/1.1
Host: target.example.com
User-Agent: Mozilla/5.0
Accept: */*
검사 중 주의점
- 테스트 전 허가된 범위를 명확히 한다.
- 생산 환경에서 무분별한 요청은 시스템에 영향을 줄 수 있다.
- 로그와 트래픽이 민감 정보를 담지 않도록 페이로드 구성에 주의한다.
결론
Burp Collaborator 사용법을 익히면 눈에 보이지 않는 OOB 취약점도 찾아낼 수 있다. 설정과 페이로드 설계, 로그 해석을 체계적으로 적용하면 SSRF, Blind SQLi, XXE 같은 문제를 더 정확히 확인할 수 있다. 협업 시 검사 범위와 영향도를 명확히 정리하면 안전한 테스트가 가능하다.