[보안 해킹] 홈페이지 보안 취약점 - 파일 업로드 취약점

2016. 10. 12. 15:32·Security/Hacking & Security

[보안 해킹] 홈페이지 보안 취약점 - 파일 업로드 취약점

 

 

■ 취약점 설명 및 사례

    ⑴ 취약점 설명

        - 서버 측에서 실행될 수 있는 스크립트(asp, jsp, php 파일 등)이 업로드 가능하고, 이 파일을 공격자가 웹을 통해 직접 실행시킬 수 있는 경우 내부명령어를 실행하거나 외부와 연결하여 시스템을 제어할 수 있는 취약점

 

 

    ⑵ 사례

        ① OO기관의 홈페이지 게시판에 jsp 파일의 확장자를 변경 후 삽입시도

        ※ jsp, gif, bmp 확장자만 허용됨

 

 

          - 파일 삽입 요청 시 확장자 변경(.jpg) 후 서버 전송

 

 

          - 삽입한 이미지 경로 확인

 

 

          - 업로드된 URL 요청 시 정상동작 확인

 

 

        ② OO대학의 홈페이지 게시판에 html 파일 업로드 시도

 

 

          - 파일 업로드 후 속성에서 파일 다운로드 시의 URL 파악

 

 

          - 특정 파라메터 값에 부적절한 값을 입력하면 업로드 파일의 경로를 알 수 있음

          ※ file_name 혹은 board_id 파라메터 값에 부적절한 값 입력

 

 

          - URL을 수정하여 요청(Request) 하면 업로드한 웹 파일이 실행됨

          ※ html 파일에 스크립트 코드등을 삽입하여 업로드 하면 해당 사이트는 악성코드 유포지 혹은 경유지로 사용되는 등 다양하게 활용 가능

 

 

■ 점검 방법

    ⑴ 파일 다운로드 링크 확인

        ① 파일 업로드(첨부)가 가능한 게시판 등에 서버 사이드 스크립트(ASP, PHP, PHP3, JSP, CGI 등) 및 html 등의 파일을 업로드

 

        ※ 운영 중인 서버의 개발언어에 맞는 서버 사이드 스크립트를 업로드 함

 

        ② 서버 사이드 스크립트가 업로드 되었을 경우 "파일 업로드 취약점"의 존재를 추정할 수 있어 보다 상세한 분석이 필요함. 업로드가 되었을 경우 해당 파일이 웹서버에서 실행되는지 점검

 

 

        ③ 업로드 시도 시 다음 그림과 같이 업로드 실패 화면 또는 오류 메시지가 나타날 경우

 

        ※ 단, 업로드 차단기능이 javascript로 구현되어 있는지 점검이 필요함

 

 

■ 대응 방안

    ⑴ 웹 서버 내에서의 조치

        ① 웹 서버 설정을 변경하여 업로드 된 해당 파일의 실행권한을 차단

           ▶ IIS 웹서버 설정 방법

 

  [제어판] -> [관리도구] -> [인터넷 서비스 관리자] -> 업로드 폴더 선택 -> [속성] 클릭

  -> 마우스 오른쪽 버튼 클릭 -> [등록정보 ] -> [실행권한] -> [없음] 선택

 

 

           ▶ Apache 웹서버 설정 방법

               - httpd.conf 파일에 다음과 같은 지시자를 추가한 후 apache 데몬을 재시작하여 해당 파일의 실행을 차단

 

  PHP 언어로 개발한 사이트의 차단 예)

  <Directory "업로드를 금지할 금지할 디렉토리">

  AddType application/x-httpd-php3-source .php3 .php .phps .ph .cgi .jsp .inc .htm .html shtml

  Options IncludesNoExec

  </Directory> 

 

        ② 웹 서버에는 업로드 대상 파일의 확장자를 검증하는 처리 프로그램을 통해 서버 사이드 스크립트(ASP, PHP, JSP, CGI 등) 파일의 업로드 차단

        ③ 웹 서버에서는 우회 기법을 통한 악의적 파일 업로드 차단

           ▶ 파일 업로드 가능 여부를 검증하는 기능을 서버 사이드 스크립트(ServerSide Script)로 구현하여 우회 기법을 통한 업로드 공격을 사전에 차단

           ▶ 다음 그림과 같이 javascript로 필터링 기능을 구현할 경우 사용자가 임의로 수정 및 삭제 할 수 있으므로 차단기능을 우회 가능

 

 

           ▶ 파일 업로드 필터링 방식은 White-List 방식을 이용(업로드 가능한 확장자만 업로드 허용)하여 확장자 변경 등의 우회 기법을 차단

 

           ※ White-List 방식 : 업로드 할 파일(정상패턴)만 허용, 이외 모두 차단

 

        ④ 파일이 업로드 되는 디렉토리(위치 및 파일명)가 사용자에게 노출되지 않도록 조치

           ▶ 파일을 저장할 경우 파일명을 변경하여 저장하고 실제 파일명은 데이터베이스에 보관하는 등 정보를 이원화하여 운영

 

    ⑵ 홈페이지 개발 보안 조치

        ① 홈페이지 소스코드는 미리 정의된 업로드 파일의 확장자만 허용하고 그 외 확장자는 업로드를 제한하고, 저장 시 외부에서 입력된 파일명을 그대로 저장되지 않도록 코드 수정

 

        ※ 기재될 홈페이지 개발 보안 방안 - 파일 업로드를 참조, 소스코드를 수정하여 보안취약점을 조치하시길 바람




※ 문의 사항은 메일 : jyuhm@sntkor.com 이나 070-8611-4853


문의 사항 남기기

저작자표시 비영리 변경금지 (새창열림)

'Security > Hacking & Security' 카테고리의 다른 글

[보안 해킹] 홈페이지 보안 취약점 - 공개용 웹 게시판 취약점  (0) 2016.10.13
[보안 해킹] 홈페이지 보안 취약점 - 소스코드 내 중요정보 노출 취약점  (0) 2016.10.13
[보안 해킹] 홈페이지 보안 취약점 - 파일 다운로드 취약점  (0) 2016.10.11
[보안 해킹] 홈페이지 보안 취약점 - 전송 시 주요정보 노출 취약점  (0) 2016.10.11
[보안 해킹] 홈페이지 보안 취약점 - 실명인증 취약점  (0) 2016.10.10
'Security/Hacking & Security' 카테고리의 다른 글
  • [보안 해킹] 홈페이지 보안 취약점 - 공개용 웹 게시판 취약점
  • [보안 해킹] 홈페이지 보안 취약점 - 소스코드 내 중요정보 노출 취약점
  • [보안 해킹] 홈페이지 보안 취약점 - 파일 다운로드 취약점
  • [보안 해킹] 홈페이지 보안 취약점 - 전송 시 주요정보 노출 취약점
하늘이데아
하늘이데아
IT에 관한 모든 것들, 궁금한 사항은 언제든지 문의~^^ 선박 사이버 복원력(Cyber ​​Resilience)/서버/네트워크/보안/솔루션/SI, SM/컨설팅/전산 유지보수 전문입니다. 070-4432-2177 / jyuhm@ufeed.co.kr
  • 하늘이데아
    IT 보물창고
    하늘이데아
  • 전체
    오늘
    어제
    • 분류 전체보기 (305)
      • (주)에스엔티코리아 (11)
        • 컨설팅 (2)
        • 데이터 센터(IDC) (0)
        • Infra (0)
      • Infra (224)
        • Server 일반 (0)
        • 윈도우 서버 (96)
        • 리눅스 서버 (90)
        • 가상화 (0)
        • Unix (0)
        • Network 일반 (4)
        • CCNA CCNP CCIE (3)
        • L4 - L7(알테온, 파이오링크) (1)
        • 방화벽 IPS IDS 웹방화벽 (27)
        • Storage (0)
        • NAS (0)
        • Cloud (1)
        • PC 일반 (1)
        • 모바일 (0)
        • 스마트 워크 (0)
        • 부대시설 (0)
      • News (7)
        • IT (0)
        • 엔터테이먼트 (2)
        • 게임 리뷰 (0)
      • Security (47)
        • Server Security (0)
        • Network Security (3)
        • Hacking & Security (44)
        • Security Policy (0)
        • PC Security (0)
      • AI & IoT (0)
        • AI (0)
        • IoT (0)
        • Big Data (0)
        • Block Chain (0)
      • DBMS (1)
        • Oracle (0)
        • My-SQL (1)
        • MS-SQL (0)
        • PostgreSQL (0)
        • Mongo DB (0)
        • IBM DB2 (0)
        • MS Access (0)
        • Cassandra (0)
        • Maria DB (0)
        • Tibero (0)
      • 솔루션 (14)
        • Management System (0)
        • 전자칠판 (0)
        • Monitoring System (0)
        • Operating System (0)
        • Open Source (0)
        • Kubernetes & Docker (0)
        • ERP, 그룹웨어, CRM, PMS (0)
        • DRM, DLP, 보안 USB (0)
        • 문서 중앙화 (0)
        • 통합 소방방재 시스템 (1)
        • 반려동물 ICT (2)
        • Office 365 (기업 최적화), 컨설팅 (0)
        • 지능형 CCTV (0)
        • BMS 빌딩 통합관리 시스템 (0)
        • 재택근무 & 화상회의 시스템 (10)
        • Etc. (1)
      • 기획 Planning (1)
        • 전산기획 (0)
        • Design UI UX (1)
        • 회사생활 Mind (인사평가) (0)
      • Tip & Know How (0)
        • Office 365 (0)
  • 블로그 메뉴

    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    AIX보안
    SunOS 보안
    보안
    윈도우서버
    VPN
    HP UX보안
    서버
    리눅스 파일 및 디렉토리 관리
    윈도우보안
    에스엔티코리아
    IT보물창고
    리눅스
    서버보안
    홈페이지_개발보안
    서버관리
    IPS
    방화벽
    보안취약점
    리눅스보안
    홈페이지취약점
    Cisco
    리눅스 보안
    AIX
    SunOS
    Security
    SunOS보안
    보안장비
    홈페이지
    HP UX 보안
    AIX 보안
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
하늘이데아
[보안 해킹] 홈페이지 보안 취약점 - 파일 업로드 취약점
상단으로

티스토리툴바