IT/영어 공부노트

[Web 보안] 파일 다운로드 취약점 본문

🛡️ security/주통기

[Web 보안] 파일 다운로드 취약점

소저어엉 2023. 7. 31. 00:27
반응형

주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세가이드 - 웹보안

23. 파일 다운로드

 

파일 다운로드 취약점이란

웹 서버(웹사이트) 있는 파일을 Download 하는 기능이 있는 경우, 다운로드 시 파일의 경로를 조작(Directory Traversal)을 통해서 내부에 데이터를 다운을 받을 수 있는 취약점이다.

 

 


취약점 개요
점검내용 - 웹 사이트에서 파일 다운로드 시 허용된 경로 외 다른 경로의 파일 접근이 가능한지 여부 점검
점검목적 - 파일 다운로드 시 허용된 경로 외 다른 경로의 파일 접근을 방지하여 공격자가 임의의 위치에 있는 파일을 열람하거나 다운받는 것을 불가능하게 하기 위함
보안위협 - 해당 취약점이 존재할 경우 공격자는 파일 다운로드 시 애플리케이션의 파라미터 값을 조작하여 웹 사이트의 중요한 파일 또는 웹 서버 루트에 있는 중요한 설정 파일등을 다운받을 수 있음
- cgi, jsp, php등 파일다운로드 기능을 제공해주는 애플리케이션에서 입력되는 경로를 검증하지 않는 경우, 임의의 문자나 주요 파일명의 입력을 통해 웹 서버의 홈 디렉토리를 벗어나 임의의 위치에 있는 파일을 열람하거나 다운받는 것이 가능함

 

점검대상 및 판단기준
대상 - 웹 애플리케이션 소스코드, 웹 서버, 웹 방화벽
판단기준 - 양호: 다운로드 파일이 저장된 디렉터리 이외에 접근이 불가능한 경우
- 취약: 다운로드 파일이 저장된 디렉터리 이외에 접근이 가능한 경우
조치방법 - 다운로드 시 허용된 경로 이외의 디렉터리와 파일에 접근할 수 없도록 구현

점검방법

1. 웹 사이트에 cgi, jsp, php등의 애플리케이션을 이용하여 파일을 다운받는 페이지가 있는지 조사

2. 웹 사이트에서 파일 다운로드 요청 시 정보에 파일 경로를 웹 서버(웹사이트)의 상대경로로 치환한 후 전송했을 때 해당 경로 파일들을 다운로드 가능한지 확인

- ../../../../../../../../../../../../etc/passwd

- ../../../../../../../../../../../../winnt/win.ini
- ../../../../../../../../../../../../boot.ini
3. 2번에서 파일 다운로드가 불가능한 경우 변조한 파일 경로를 아래의 인코딩을 적용하여 재전송 후 다운로드 가능한지 확인

- URL 인코딩: .(%2e), /(%2f), \(%5c)
- 16bit 유니코드 인코딩: .(%u002e), /(%u2215), \(%u2216)
- 더블URL 인코딩: .(%252e), /(%252f), \(%255c)
- 경로 치환: …//, ….\\, ….\/, …./\
- 종단 문자 추가: [파일명]%00.jpg, [파일명]%0a.jpg


보안설정방법

- 해당 취약점은 파일의 이름을 조작하는 데서 비롯되므로, 다운로드 파일 이름을 데이터베이스에 저장하고 다운로드 수행 시 요청 파일 이름과 비교하여 적절한지 확인하여 사용자가 조작할 수 있는 변수를 제거함

- 다운로드 애플리케이션 소스 파일을 수정하여 파일을 다운받을 수 있는 디렉터리를 특정 디렉터리로 한정하고 이 외에 다른 디렉터리에서는 파일을 다운받을 수 없도록 설정해야 함

- PHP를 사용하는 경우 php.ini 에서 magic_quotes_gpc를 On으로 설정하여 .\./ 와 같은 역슬러시 문자 입력 시 치환되도록 설정

- 파일 다운로드의 절대 경로 설정 및 DocBase의 상위경로 또는 타 드라이브로 설정을 변경함

- 다운로드 경로 정보를 자바스크립트나 js 소스에서 확인할 수 없게 제한하며, 웹 서버 서블릿 내부 또는 별도의 설정 파일에서 관리

-  다운로드를 제공하는 페이지의 유효 세션 체크 로직 필수 적용

- 다운로드 시 사용되는 파라미터 값 대상으로 아래의 특수 문자를 필터링하도록 웹 방화벽 룰셋 적용


참고

https://hoho9.tistory.com/126

주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세가이드 p.707-p.710

반응형