[취약점] 파일 업로드
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 |