Blog

국정원 8대 보안 취약점검
작성자 : DeepFinder
작성일 : 2020-04-28
조회수 : 10996
파일첨부 :

1. 디렉토리 리스팅 취약점

Q : 홈페이지의 속성을 설정하는‘웹사이트 등록정보’에 특정디렉토리에 대하여 ‘디렉토리 검색’항목이 체크되어 있거나(IIS 웹서버), ‘httpd.conf 파일’에서‘Indexes’옵션이 ON되어 있는 경우(아파치 웹서버)에 인터넷 사용자에게 모든 디렉토리 및 파일 목록이 보여지게 되고, 파일의 열람 및 저장도 가능하게 되어 비공개 자료가 유출될 수 있다.


   

2. 파일 다운로드 취약점

Q : 게시판 등에 저장된 자료에 대해‘다운로드 스크립트’를 이용하여 다운로드 기능을 제공하면서, 대상 자료파일의 위치 지정에 제한조건을 부여하지 않았을 경우에 URL칸의 다운로드 스크립트의 인수값에‘../’문자열 등을 입력하여 시스템 디렉토리 등에 있는 /etc/passwd와 같은 비공개 자료들이 유출될 수 있다. 특히, 리눅스 및 유닉스 계열의 웹서버에 각별한 주의가 필요하다. 다운받기 위한 파일 이름에“..”, “/”, “\”와 같은 문자열이 존재하면 모두 필터링해야 한다. 이 부분은 웹 서버 설정으로 해결할 수 있는 것이 아니고 스크립트의 내용을 수정해야 한다.



3. 크로스사이트 스크립트 취약점

Q : 게시판에 새 게시물을 작성하여 등록할 때와 같이 사용자의 입력을 받아 처리하는 웹 응용프로그램에서 입력 내용에 대해 실행코드인 스크립트의 태그를 적절히 필터링하지 않을 경우에 악의적인 스크립트가 포함된 게시물을 등록할 수 있어 해당 게시물을 열람하는 일반 사용자의 PC로부터 개인정보인 쿠키를 유출할 수 있는 등의 피해를 초래할 수 있다. 스크립트를 모두 필터링시 스크립트 문장에 사용되는 메타캐릭터가 포함되어 있을 때 이를 변환시키는 필터링을 수행한다. 글 올리기를 제한한다.


 

4. 파일 업로드 취약점

Q : 첨부파일 업로드를 허용하는 홈페이지 게시판에서 .php, .jsp 등의 확장자 이름의 스크립트 파일의 업로드를 허용할 경우에 해커가 악성 실행 프로그램을 업로드한 후에 홈페이지 접속 방식으로 원격에서 서버컴퓨터의 시스템 운영 명령어를 실행시킬 수 있다. 첨부 파일의 형태(실행 가능한 확장자 : php, php3, asp, jsp, cgi, inc, pl)를 필터링하기 위해 소스코드를 수정한다.


5. WebDAV 취약점

Q : 윈도우 서버 컴퓨터에서 기본으로 설치되는 원격관리기능인 WebDAV가 계속 사용가능하도록 설정되어 있고, WebDAV 라이브러리 파일의 속성 및 홈페이지 디렉토리에 쓰기 권한이 모두 허용되어 있는 경우에 해커가 WebDAV 도구를 사용, 원격에서 홈페이지 디렉토리에 임의의 파일을 삽입하여 화면을 변조할 수 있다.


 

6. 테크노트(Technote) 취약점

Q : 국내에서 개발되어 무료 배포중인 게시판 제작 프로그램‘테크노트’의 일부 CGI프로그램들에서 인수값 처리시에‘|’문자 이후에 나오는 컴퓨터 운영 명령어가 실행될 수 있는 결함이 있어 해커는 홈페이지 접속 방식으로 컴퓨터 명령어를 실행하여 화면을 변조 하거나 컴퓨터를 조작할 수 있다. '테크노트’는 리눅스 및 유닉스 계열의 홈페이지 서버 컴퓨터에 주로 사용되고, 윈도우 계열의 홈페이지에서도‘Perl’이 지원될 경우에 사용될 수 있다.


7. 제로보드(Zeroboard) 취약점

Q : 국내에서 개발되어 무료 배포중인 게시판 제작 프로그램‘제로보드’의 일부 PHP프로그램이 원격에 있는 PHP파일을 실행할 수 있는 결함이 있어 해커는 홈페이지 접속 방식으로 컴퓨터 명령어를 실행하여 화면을 변조 하거나 컴퓨터를 조작할 수 있다. `제로보드’는 리눅스 및 유닉스 계열의 홈페이지 서버 컴퓨터에 주로 사용 되고, 윈도우 계열의 홈페이지에서도‘PHP’가 지원될 경우에 사용될 수 있다.


 

8. SQL Injection 취약점

Q : 웹브라우저 주소(URL)창 또는 사용자 ID 및 패스워드 입력화면 등에서 데이터베이스 SQL문에 사용되는 문자기호(‘ 및“)의 입력을 적절히 필터링 하지 않은 경우에 해커가 SQL문으로 해석될 수 있도록 조작한 입력으로 데이터베이스를 인증절차없이 접근, 자료를 무단 유출하거나 변조할 수 있다. SQL Injection 취약점은 홈페이지 프로그램 내부에 존재하는 것이다. 취약점을 제거하기 위해 ID 및 Password란에 필히 특수문자(따옴표, 공백 등)는 넣지 못하도록 소스코드를 수정한다.


 


 

 

 


이전글 PCI DSS 6.6 요구사항 만족
다음글 웹 방화벽이 왜 필요할까?