취약점점검- 파일업로드

2021. 1. 28. 14:36웹취약점/그누보드

파일업로드 란?

파일 업로드 기능이 존재하는 웹 어플리케이션에서 확장자 필터링이 제대로 이루어지지 않았 을 경우 공격자가 악성 스크립트 파일(웹쉘)을 업로드 하여 웹을 통해 해당 시스템을 제어할 수 있어 명령어 실행 및 디렉터리 열람이 가능하고 웹 페이지 또한 변조가 가능한 취약점

취약점개요

점검내용 ■ 웹 사이트의 게시판, 자료실 둥에 조작된 Server Side Script 파일 업로드 및 실행가능 여부 점검
점검목적 ■ 업로드 되는 파일의 확장자에 대한 적절성 여부를 검증하는 로직을 통해 공격자자가 조작된 Server Side Script 파일 업로드 방지 및 서버 상에 저장된 경로를 유추하여 해당  Server Side Script 파일 실행을 불가능하게 하기 위함
보안위협 ■ 해당 취약점 존재 시 공격자가 조작된 Server Side Script 파일을 업로드 하고 실행하여, 쉘 권한 획득 후 홈페이지를 통해 시스템 명령어를 실행하고, 웹 브라우저를 통해 그 결과 값을 보며. 시스템 관리자 권한 획득 또는 인접 서버에 대한 침임을 시도할 수 있음

 

점검대상 및 판단기준

대상 ■ 그누보드(localhost)
판단기준 양호: 업로드 되는 파일에 대한 확장자 검증이 이루어지는 경우
취약: 업로드 되는 파일에 대한 확장자 검증이 이루어지지 않는 경우
조치방법 업로드 되는 파일에 대한 확장자 검증 및 실행 권한 제거

 

점검 및 조치 사레

1) 게시판이나 파일첨부가 가능한페이지에 사이트에 영향을 줄수 있는 확장자 파일(asp, php, jsp)이 업로드 되는지 확인

php파일 업로드

2) 업로드된 파일이 필터링되 실행되지 않는 것을 볼 수 있다

 

 

 

 

 

※보안설정방법

-화이트 리스트 방식으로 허용된 확장자만 업로드 허용

-업로드 되는 파일을 디렉터리에 저장할 때 파일명과 확장자를 외부 사용자가 추측할 수 없는 문자열로 변경하여 저장(파일 이름은 DB에 저장)

-업로드 파일을 위한 전용 디렉터리를 별도로 생성하여 httpd.conf와 같은 웹 서버 데몬 설정파일에서 실행 설정을 제거

  함으로써, Server Side Script가 업로드 되더라도 웹 엔진이 실행하지 않는 환경을 설정함

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

 

참조

www.kisa.or.kr/public/laws/laws3_View.jsp?cPage=6&mode=view&p_No=259&b_No=259&d_No=106&ST=T&SV=

 

기술안내서 가이드 < 관련법령·기술안내서 < 자료실 : 한국인터넷진흥원

기술안내서 가이드

www.kisa.or.kr