[취약점] 파일 업로드

2024. 3. 24. 13:35정보 보안/취약점

 

정의

 

  웹 사이트의 게시판, 자료실 등에 조작된 Server Side Script 파일을 업로드하여 웹 상에서 실행시키는 취약점을 의미한다.

 

 

공격 시나리오

 

  공격자는 조작된 Server Side Script 파일을 서버에 업로드한 후 웹 상에서 실행하여 시스템 관리자 권한 획득 또는 인접 서버에 대한 침입을 시도할 수 있다.

 

 

대응 방안

 

  • 업로드되는 파일에 대한 확장자 검증 및 실행 권한 제거

 

 

판단 기준

 

주요정보통신기반시설

  • 양호 : 업로드되는 파일에 대한 확장자 검증이 이루어지는 경우
  • 취약 : 업로드되는 파일에 대한 확장자 검증이 이루어지지 않는 경우

 

 

점검 예시

 

주요정보통신기반시설

  • 웹 사이트에 파일 업로드 기능이 존재하는 경우, 확장자가 jsp, asp, php, cgi 등의 Server Side Script 파일들이 업로드 가능한지 확인
  • 웹 사이트에 있는 디렉터리 정보를 이용하여 첨부한 Server Side Script 파일 경로를 조사한 후 웹 브라우저 주소창에 해당 파일의 경로를 입력하여 첨부한 파일을 실행 가능한지 확인

 

전자금융기반시설

  • 이미지, 한글(hwp) 등의 파일을 업로드할 수 있는 부분에 jsp, asp, php 등의 스크립트 파일 업로드 가능 여부 점검
  • 업로드된 파일의 위치 및 실행 가능 여부 점검 

 

 

구체적 보안 설정 방법

 

1. 화이트 리스트 기반 필터링을 적용하여 허용된 확장자만 업로드 가능하도록 서버 측에서 통제한다.

 

2. 업로드되는 파일을 디렉터리에 저장할 때 파일명과 확장자를 외부 사용자가 추측할 수 없는 문자열로 변경하여 저장한다.

 

3. 업로드 파일을 위한 전용 디렉터리를 별도로 생성하여 웹 서버 데몬 설정 파일(httpd.conf 등)에서 실행 설정을 제거하여 해당 디렉터리에서는 Server Side Script 파일이 존재하더라도 실행은 불가능하도록 한다.

 

4. 파일 업로드 필드를 대상으로 특수문자 필터링하도록 웹 방화벽 룰셋을 적용하도록 한다.

'정보 보안 > 취약점' 카테고리의 다른 글

[취약점] 데이터 평문 전송  (0) 2024.03.25
[취약점] 파일 다운로드  (0) 2024.03.25
[취약점] 프로세스 검증 누락  (0) 2024.03.24
[취약점] 자동화 공격  (0) 2024.03.24
[취약점] 세션 고정  (0) 2024.03.24