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

2016. 10. 11. 13:16·Security/Hacking & Security

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

 

 

■ 취약점 설명 및 사례

    ⑴ 취약점 설명

        - 외부 입력 값에 대해 경로 조작에 사용될 수 있는 문자를 필터링 하지 않으면, 예상 밖의 접근 제한 영역에 대한 경로 문자열 구성이 가능해져 시스템 정보누출, 서비스 장애 등을 유발 시킬 수 있는 취약점

 

 

    ⑵ 사례

        ① OO대학의 경우 홈페이지 다운로드 기능을 통해 시스템 파일의 다운로드가 가능

            - 공지사항 게시판에서 첨부파일 다운로드 받을 때의 URL을 파악

 

 

            - 파일 다운로드 기능 실행

 

 

            - 서버의 계정 파일이 다운로드 됨

 

 

        ② OO대학의 경우 홈페이지 다운로드 기능을 통해 시스템 파일의 다운로드가 가능

            - 게시물 첨부파일의 속성으로 파일 다운로드 시의 경로를 파악

 

 

            - 웹 어플리케이션 파일을 다운 받기 위해 경로 값 변경

 

 

            - 웹 어플리케이션 파일 다운로드 가능

 

 

■ 점검방법

    ⑴ 파일 다운로드 링크 확인

        ① 마우스를 다운로드 할 파일 링크에 가져간 후 마우스 오른쪽 클릭

            - [바로가기 복가(T)] 웹 브라우저 주소입력란에 "붙여넣기"를 하여 링크가 가리키는 URL을 확인

 

 

    ⑵ 파일 다운로드가 가능할 경우 다운로드 파일의 URL을 확인하여 다운로드 방식을 확인

        ① 파일 다운로드 방식 확인

            - 파일 다운로드는 동적 방식과 정적 방식으로 나눌 수 있음

            - 동적 방식은 URL 파라미터에 파일이름 혹은 파일번호를 할당하여 데이터를 처리하는 방식

            - 정적 방식은 특정 디렉토리에 존재하는 파일에 직접 링크를 설정하여 사용자에게 제공하는 방식으로 아래와 같은 형태임

 

  [동적 방식의 URL 예]

  ◆ http://점검대상/bbs/Download.jsp?bbs=notice&no=11&filename=계약서.hwp&path=download

  ◆ http://점검대상/bbs/Download.jsp?bbs=notice&no=11&filename=/download/계약서.hwp

  ◆ http://점검대상/bbs/Download.asp?fn=c:\download\계약서.hwp

 

  [정적 방식의 URL 예]

  ◆ http://점검대상/bbs/Download/계약서.hwp

 

 

            - 정적 다운로드 방식은 첨부파일의 존재 위치와 파일의 이름을 공격자가 쉽게 획득할 수 있으므로 "파일 업로드" 공격 시 업로드 될 파일의 위치를 추정하는 등 웹서버의 내부 정보 수집에 활용될 수 있으므로 되도록 정적 방식을 지양

              (단, 정적 방식은 다운로드 취약점을 이용한 임의의 파일 다운로드가 불가능하여, 대부분의 경우 다운로드 취약점이 존재하지 않음)

 

        ② 동적 파일 다운로드 방식의 경우 파일명을 나타내는 변수와 파일의 위치를 나타내는 변수를 아래와 같이 수정하여 시스템 내부 파일의 다운로드를 시도

            ◆ http://점검대상/bbs/Download.jsp?bbs=notice&no=11&filename=계약서.hwp&path=/download

            ◆ http://점검대상/bbs/Download.jsp?bbs=notice&no=11&filename=passwd&path=../../../etc/

            ◆ http://점검대상/bbs/Download.jsp?bbs=notice&no=11&filename=boot.ini&path=../../../

 

            ※ ../ 는 상위 경로를 나타내며 최상위 경로(/)로 이동하기 위해 사용되며 최상위 폴더까지의 접근을 하기위해 ../ 문자열을 충분히 입력함

 

■ 대응 방안

    ⑴ 홈페이지 개발 보안 조치

        ① 홈페이지 상에 다운로드 파일의 이름을 데이터베이스에 저장하고 다운로드 수행 시 요청파일의 이름이 동일한지 여부를 검증토록 조치

        ② 홈페이지 상에 다운로드 파일명 또는 경로에 "..", "/", "\" 값이 입력되지 않도록 조치

        ③ PHP 언어로 개발된 서버의 경우 php.ini 내용 중 magic_quotes_gpc 항목의 값을 On으로 설정하여 ".\ 와./" 값 입력 시 치환되도록 설정

 

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




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


문의 사항 남기기

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

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

[보안 해킹] 홈페이지 보안 취약점 - 소스코드 내 중요정보 노출 취약점  (0) 2016.10.13
[보안 해킹] 홈페이지 보안 취약점 - 파일 업로드 취약점  (0) 2016.10.12
[보안 해킹] 홈페이지 보안 취약점 - 전송 시 주요정보 노출 취약점  (0) 2016.10.11
[보안 해킹] 홈페이지 보안 취약점 - 실명인증 취약점  (0) 2016.10.10
[보안 해킹] 홈페이지 보안 취약점 - 계정관리 취약점  (0) 2016.10.08
'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보안
    보안장비
    방화벽
    Cisco
    보안취약점
    윈도우서버
    IPS
    윈도우보안
    VPN
    리눅스 파일 및 디렉토리 관리
    IT보물창고
    에스엔티코리아
    서버관리
    Security
    리눅스보안
    홈페이지_개발보안
    리눅스
    리눅스 보안
    AIX
    보안
    AIX 보안
    HP UX 보안
    SunOS 보안
    SunOS보안
    서버보안
    HP UX보안
    홈페이지
    SunOS
  • 최근 댓글

  • 최근 글

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

티스토리툴바