Burp로 파일 다운로드 권한 검사하기
Burp Suite를 이용해 파일 다운로드 권한 취약점을 식별하고 재현하는 절차와 핵심 검사 포인트를 초보자도 이해하기 쉽게 정리한 자료
목차
개요
파일 다운로드 권한 문제는 인가되지 않은 사용자가 민감한 파일을 열람하거나 다운로드할 때 발생한다. 이 글은 Burp Suite를 활용해 권한 검증이 제대로 이루어지는지 점검하는 실무적 절차를 설명한다. 테스트는 항상 적법한 범위와 승인된 대상에서만 수행해야 한다.
사전 준비
필수 도구와 전제
- Burp Suite(Community 또는 Professional)
- 웹 브라우저(프록시 설정 완료)
- 테스트 대상에 대한 명확한 허가
권한 관련 검사는 대상의 인증·인가 로직을 변경하거나 우회하려는 시도를 포함하므로, 사전 동의가 필수다.
Burp 설정 기본
프록시와 인터셉트
- 브라우저의 프록시를 Burp로 설정한다.
- Burp의 Proxy → Intercept를 켜고 요청·응답을 캡처한다.
캡처된 요청을 Repeater로 보내면 파라미터 변경, 헤더 조작 등을 쉽게 시도할 수 있다.
검사 항목과 절차
검사 항목은 권한 검증 부재, 경로 탐색(path traversal), 직접 파일 인덱싱, 토큰/세션 회피 등으로 분류할 수 있다. 각 항목별 기본 절차는 다음과 같다.
1) 인증·인가 분리 확인
- 정상 사용자 계정으로 로그인 후 파일 다운로드 요청을 캡처.
- 세션 토큰을 삭제하거나 다른 사용자 토큰으로 교체해 요청 반복.
GET /download?file=report.pdf HTTP/1.1
Host: target.example.com
Cookie: session=SESSION_TOKEN
토큰을 변경해도 파일이 내려가면 권한 검증 실패이다.
2) 경로 탐색(Path Traversal)
- 파일 파라미터에 상대경로(../)를 주입해 시스템 파일 접근이 가능한지 확인.
GET /download?file=../../../../etc/passwd HTTP/1.1
Host: target.example.com
Cookie: session=legit_user_token
응답에서 민감정보가 노출되면 심각한 취약점이다. 탐색 문자열은 인코딩, 중복 슬래시(..%2F) 등으로 우회 시도가 필요할 수 있다.
3) 직접 참조(Insecure Direct Object Reference, IDOR)
- 파일 식별자(id, filename 등)를 다른 값으로 바꿔 접근 가능한 파일을 확인.
GET /files/download/12345 HTTP/1.1
Host: target.example.com
Authorization: Bearer USER_TOKEN
ID를 변경해 다른 사용자의 파일이 내려오면 IDOR 취약점으로 분류된다.
4) 헤더·메서드 조작
- Authorization, Referer, X-Forwarded-For 등 헤더를 조작해 우회 여부 확인.
- GET/POST를 전환하거나 Content-Type을 변경해 서버 동작을 관찰.
5) 자동화 및 대량 검사
Burp Intruder 또는 프로젝트 스캐너를 활용해 여러 파일명, 경로, 인코딩 변형을 반복 테스트한다. 다음은 예시 페이로드 아이디어이다.
- ../../etc/passwd, ..%2F..%2Fetc%2Fpasswd
- /var/www/html/config.php, config.bak, secret.key
Burp 도구별 활용 팁
Repeater
- 단일 요청을 세밀히 조작해 응답 차이를 확인한다.
- 헤더와 바디 변경 후 상태 코드와 본문을 비교한다.
Intruder
- 일괄적인 파일명/경로 테스트에 사용.
- 동시성 조절과 페이로드 엔코딩을 적절히 설정한다.
Scanner(Professional)
- 자동화된 취약점 탐지로 초기 감사를 수행한다.
- 수동 검증이 필요한 경우 오탐이 발생할 수 있음을 염두에 둔다.
결과 분석과 리포트 작성
취약을 재현할 수 있는 최소한의 단계, 요청·응답 캡처, 영향 범위를 정리한다. 권한 우회로 인한 민감 데이터 노출 여부를 명확히 기술한다. 증거는 스크린샷과 Burp의 Raw 요청/응답으로 보강한다.
완화 권고
- 서버 측에서 파일 접근 전 사용자 권한과 소유권을 검증한다.
- 파일 경로는 매핑 테이블로 관리하고 직접 파일 시스템 경로를 노출하지 않는다.
- 입력값에 대해 경로 정규화와 허용 목록(whitelist) 적용.
- 민감 파일은 접근 로그와 알림을 통해 모니터링.
마무리
Burp 파일 접근 권한 테스트는 반복적이고 체계적인 검증이 중요하다. 각 시도는 로그로 남기고, 발견 시 즉시 담당자에게 보고한다. 실무에서는 자동 도구와 수동 확인을 조합해 정확도를 높이는 것이 핵심이다.