파일 다운로드 취약점이란 ?
웹 서버의 파일 시스템에 존재하는 파일을 다운로드하는 과정 상에서 파일의 경로를 임의로 조작하여 내부의 자료를 다운로드 할 수 있는 취약점으로 보통 파일 경로 및 파일명을 파라미터로 받아 처리를 하는 경우, 적절한 필터링 조치를 하지 않아 조작이 가능한 경우 발생되는 취약점이다.
파일 다운로드 취약점 이용 도식
위 도식을 통해 파일 다운로드 취약점에 대해 좀 더 알아보도록 하겠습니다.
간단하게 일반적인 사용자라면 웹 서버에게 정상적인 파일의 경로를 전송하여 요청을 하게되면 웹 서버는 정상적인 파일을 사용자에게 넘겨주지만 공격자의 경우는 정상적인 파일의 경로를 입력하여 요청하는 것이 아닌 공격자가 원하는 파일의 경로를 웹 서버에 전달을 하여 해당 파일을 다운로드 할 수 있는 취약점입니다.
파일 다운로드 취약점 대응 방안
- 다운로드가 가능한 파일명을 DB에 저장하여 관리하고 요청 파일의 이름이 DB에 저장된 파일명과 동일한지 여부를 검증하는 로직을 구현하여 같을 경우에만 다운로드 되도록 한다.
- 다운로드 시 파일명 또는 경로에 특수문자( '..', '/', '\' )가 입력되지 않도록 필터링을 설정한다.
- 만약 PHP 언어로 구현된 서버의 경우는 php.ini 파일에서 magic_quotes_gpc 항목 값을 On 으로 설정하여 './' 및 '.\' 가 입력될 경우 자동으로 치환되도록 설정한다.
'CERT > 웹 취약점' 카테고리의 다른 글
[웹 취약점]소스코드 내 중요 정보 노출 취약점의 정의 및 대응 방안 (0) | 2023.04.15 |
---|---|
[웹 취약점]파일 업로드 취약점의 정의 및 대응 방안 ( File Upload Vulnerability ) (0) | 2023.04.15 |
[웹 취약점]전송 시 주요 정보 노출 취약점의 정의 및 대응 방안 (0) | 2023.04.08 |
[웹 취약점]실명 인증 취약점의 정의 및 대응 방안 (0) | 2023.04.08 |
[웹 취약점]계정 관리 취약점의 정의 및 대응 방안 (0) | 2023.04.08 |