파일 다운로드 취약점
① 개념
- 파일 다운로드 기능이 존재하는 웹 애플리케이션에서 파일 다운로드 시 파일의 경로 및 파일명을 파라미터로 받아 처리하는 경우, 이를 적절히 필터링하지 않으면 공격자가 경로 및 파일명을 조작하여 허용되지 않은 파일을 다운받을 수 있는 취약점
- 공격자는 취약점을 이용하여 중요한 파일(데이터베이스 연동 파일 등)을 다운받을 수 있다.
② 공격과정
- 파일 다운로드 시, URL 파라미터를 살펴 실제 저장된 파일명과 원본 파일명을 유추한다.(ex. real_name=1234&show_name=show)
- 파일 다운로드 취약점이 존재하는 페이지면 실제 파일명을 의미하는 파라미터를 조작해 허용되지 않는 파일을 다운로드 한다.
③ 취약점 판단기준
- 게시판, 자료실 등 파일 다운로드가 가능한 페이지의 URL/파라미터를 조작해 임의의 파일 다운로드가 가능할 경우 취약한 것으로 판단한다.
- URL/파라미터를 조작해 웹 루트 상위로 접근 시도
- URL/파라미터를 조작해 비정상적인 파일 다운로드 시도
④ 대응책
- (whitelist 생성) 사용자가 입력하는 파일 경로와 이름에 대해 허용하는 경로 이외의 디렉터리와 파일에 접근할 수 없도록 처리한다
- (필터링 소스코드 작성) 사용자 입력값에 대해 파일 경로를 변경할 수 있는 문자열(ex. ../..\ 등)을 필터링하도록 소스코드를 작성한다.
- (방화벽 필터링 룰셋 적용)웹 방화벽 등 필터링이 가능한 보안장비를 운영중이라면 필터링 룰셋을 적용한다.
'정보보안 > 애플리케이션 보안' 카테고리의 다른 글
[웹 애플리케이션 취약점] 파일 삽입 취약점 (0) | 2024.11.17 |
---|---|
[웹 애플리케이션 취약점] 경로 추적 취약점 (0) | 2024.11.17 |
[웹 애플리케이션 취약점] 파일 업로드(File Upload) 취약점 (0) | 2024.11.16 |
[웹 애플리케이션 취약점] 운영체제 명령 실행 취약점 (1) | 2024.11.15 |
[웹 애플리케이션 취약점] XSS CSRF SSRF (1) | 2024.11.15 |