경로 순회 취약점
경로 순회 취약점은 사용자가 제공한 파일명이나 경로가 검증 없이 결합되어 허용된 디렉터리 밖의 파일을 읽거나 쓰게 되는 약점입니다.
경로 순회 취약점
다운로드, 로그 보기, 압축 해제, 템플릿, 이미지 처리 기능에서 상대경로와 인코딩, 운영체제 경로 구분자를 악용할 수 있습니다. 단순 문자열 제거는 변형을 놓치기 쉽습니다.
핵심 정보
발생 원인과 악용 조건
서버는 입력 경로를 정규화한 뒤 허용된 기준 디렉터리 안에 있는지 검증해야 합니다. 가능하면 사용자가 실제 파일경로를 지정하지 않고 내부 식별자로 선택하도록 설계합니다.
운영 효과는 데이터 생성 지점, 처리 목적, 사용자와 관리자 권한, 외부 연동, 백업과 로그, 삭제 절차를 연결할 때 확보됩니다. 설계 문서와 실제 운영 상태가 다를 수 있으므로 설정값, 표본 데이터, 접근기록, 변경 이력을 근거로 검증합니다.
영향 범위
설정파일, 소스코드, 비밀키, 개인정보 내보내기 파일이 노출될 수 있습니다. 쓰기가 가능하면 웹셸과 설정 변조, 서비스 중단으로 이어질 수 있습니다.
개인정보 관련 위험에는 기밀성 침해, 잘못된 수정과 삭제, 서비스 중단, 부정확한 프로파일링, 차별적 의사결정, 계정 탈취, 사칭과 2차 피싱이 포함됩니다. 위험 평가는 정보의 민감도, 변경 가능성, 결합 가능성, 노출 기간, 대상 인원, 공격자의 실제 접근 능력을 반영합니다.
진단과 우선순위 판단
파일 관련 파라미터와 압축 해제 경로, 심볼릭 링크, URL 디코딩 순서를 점검합니다. 로그에서 상위 디렉터리 표현과 시스템 파일 접근 오류를 확인합니다.
검토 결과에는 적용 범위, 남은 위험, 책임자, 개선 기한, 재검증 조건을 기록합니다. 외부 서비스와 오픈소스 구성요소가 관련되면 계약서와 보안 공지, 버전, 데이터 처리 위치, 하위 수탁·의존 관계도 확인합니다.
예방과 완화
- 파일경로 대신 서버가 관리하는 불투명한 식별자를 사용합니다.
- 경로를 정규화한 뒤 허용 기준 디렉터리 내부인지 검사합니다.
- 애플리케이션 계정의 파일 접근권한과 쓰기 경로를 최소화합니다.
- 압축 파일의 각 항목 경로와 심볼릭 링크를 검증합니다.
보호조치는 예방, 탐지, 대응, 복구 단계에 나누어 배치합니다. 한 통제가 우회되거나 오작동해도 피해가 곧바로 전체 데이터로 확산되지 않도록 권한·네트워크·데이터·로그 통제를 겹쳐 적용합니다.
혼동하기 쉬운 개념
경로 순회는 파일 포함 취약점과 관련되지만 동일하지 않습니다. 경로 순회는 허용 범위 밖 파일 접근이며 파일 포함은 해당 파일을 코드나 템플릿으로 해석하는 문제가 포함될 수 있습니다.