Burp Suite · 2026-04-25

Burp로 파일 포맷 XXE 검사 방법

Burp Suite를 활용해 XML 기반 파일 포맷에서 발생하는 XXE 취약점을 점검하는 절차와 실전 예시를 정리한 설명서

작성일 : 2026-04-25 ㆍ 작성자 : 관리자
post
목차

소개

XML 외부 엔티티(XXE)는 파일 포맷을 통해 서버 내부 자원에 접근할 수 있는 취약점이다. 처음 접하는 사람도 흐름을 이해하고 따라할 수 있도록 Burp Suite를 이용한 검사 절차를 단계별로 정리한다. 핵심은 요청 캡처, 페이로드 삽입, 결과 확인의 반복이다.

XXE 개념과 위험

XXE가 발생하는 이유

XML 파서가 외부 엔티티 참조를 허용하면 원격 혹은 로컬 리소스를 읽거나 서버에 임의 요청을 발생시킬 수 있다. 민감한 파일 정보 유출, SSRF나 서비스 거부로 이어질 수 있다.

파일 포맷 취약점의 특징

파일 업로드나 XML 기반 API에서 흔히 나타난다. 특히 파일을 파싱하는 서버 측 구성이나 라이브러리 설정으로 인해 발생한다. 파일 포맷 취약점 Burp 검사는 이러한 흐름을 중점으로 점검한다.

검사 전 준비

도구 및 환경

  • Burp Suite(Proxy, Repeater, Intruder, Collaborator 사용 권장)
  • 테스트 대상의 파일 업로드 기능 또는 XML 요청 엔드포인트
  • 필요 시 외부 콜백을 확인할 수 있는 Burp Collaborator 또는 OOB 서비스

Burp 기본 설정

브라우저와 Burp 프록시 연결을 확인한다. Proxy → Intercept를 켠 뒤, 테스트 요청을 캡처하여 Repeater로 보내는 흐름을 익힌다. Burp Collaborator 도메인을 사용하면 OOB 응답으로 XXE 성공 여부를 확인할 수 있다.

테스트 절차

전체 흐름은 간단하다. 요청을 캡처한다. XML 또는 파일 바디를 확인한다. 외부 엔티티를 주입한다. 서버 응답과 OOB 트래픽을 모니터링한다. 결과에 따라 추가 페이로드를 실행하여 취약성 범위를 평가한다.

단계별 수행 목록

  • 1) 취약점 가능 지점 식별: 파일 업로드, XML 파라미터, SOAP/REST XML 바디 등
  • 2) 요청 캡처: Burp Proxy로 요청을 가로채 Repeater로 전송
  • 3) 페이로드 삽입: 외부 엔티티 선언을 포함한 XML로 수정
  • 4) 응답 관찰: 에러, 파일 내용 노출, OOB 콜백 확인
  • 5) 추가 검증: 권한 상승 가능성, 임의 코드 실행 가능성 등 심화 조사

페이로드 예시

아래 예시는 로컬 파일을 읽는 기본 XXE 페이로드다. Burp Repeater에서 요청 바디를 교체해 테스트한다.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [
  <!ENTITY % remote SYSTEM "file:///etc/passwd">
  <!ENTITY ext "&remote;">
]>
<root>
  <data>&ext;</data>
</root>

외부 OOB 콜백을 이용한 테스트 예시는 아래와 같다. Burp Collaborator 도메인을 박아 서버가 외부 요청을 발생시키는지 확인한다.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [
  <!ENTITY % remote SYSTEM "http://your-collab-domain.example/">
  <!ENTITY ext "&remote;">
]>
<root>
  <data>&ext;</data>
</root>

Burp 도구별 활용 팁

Repeater

단계별로 페이로드를 수정하며 응답을 비교한다. 에러 메시지나 파일 내용이 노출되는지 확인하는 데 유용하다.

Intruder

다수의 페이로드를 조합해 자동화된 대량 검증을 수행할 때 사용한다. 단, 무차별 호출로 서비스에 영향을 줄 수 있어 주의한다.

Collaborator와 OOB

서버가 외부 리소스를 호출하는지 판별하려면 Burp Collaborator를 활용한다. 콜백 로그가 남으면 XXE로 외부 요청을 유발한 것으로 판단할 수 있다.

탐지 후 확인과 보고

탐지 결과를 재현 가능한 절차로 문서화한다. 요청 원본, 수정한 페이로드, 서버 응답, OOB 로그를 함께 제시한다. 취약점 심각도는 민감 데이터 노출 여부, 원격 요청 가능성, 인증 우회 가능성 등을 기준으로 평가한다.

완화 및 권고

  • XML 파서의 외부 엔티티 및 DTD 해석을 비활성화한다.
  • 파일 업로드 시 허용된 포맷과 파싱 라이브러리를 엄격히 제한한다.
  • 입력 검증과 최소 권한 원칙을 적용해 내부 파일 접근을 차단한다.
  • 서버 측 로그와 네트워크 아웃바운드 모니터링으로 이상 행위를 탐지한다.

마무리

Burp XXE 테스트는 단순한 문서 조작으로 위험한 결과를 만들 수 있다. 파일 포맷 취약점 Burp 검사는 요청 캡처와 페이로드 실험, OOB 확인의 반복 작업이다. 절차를 체계화하면 빠르게 취약 지점을 도출하고, 구체적인 대응 권고를 제시할 수 있다.

Burp XXE 테스트 파일 포맷 취약점 Burp Burp XML XXE 검사 XXE XML 취약점 Burp Suite 웹 취약점 검사 파일 업로드 보안