[웹 취약점 진단/모의해킹/해킹] 디렉터리 인덱싱

목차

     

     

    DI - 디렉터리 인덱싱

     

    ■ 점검내용

     

    웹 서버 내 디렉터리 인덱싱 취약점 존재 여부 점검

     

    ■ 점검목적

     

    디렉터리 인덱싱 취약점을 제거하여 특정 디렉터리 내 불필요한 파일 정보의 노출을 차단

     

    ■ 보안위협

     

    해당 취약점이 존재할 경우 브라우저를 통해 특정 디렉터리 내 파일 리스트를 노출하여 응용시스템의 구조를 외부에 허용할 수 있고, 민감한 정보가 포함된 설정 파일 등이 노출될 경우 보안상 심각한 위험을 초래할
    수 있음

     

    ■ 참고

     

    ※ 디렉터리 인덱싱 취약점: 특정 디렉터리에 초기 페이지 (index.html, home.html, default.asp 등)의 파일이 존재하지 않을 때 자동으로 디렉터리 리스트를 출력하는 취약점

     

     

    점검대상 및 판단기준

     

    ■ 대상 : 웹 서버

     

    양호

    디렉터리 파일 리스트가 노출되지 않는 경우

     

    취약

    디렉터리 파일 리스트가 노출되는 경우

     

    ■ 조치방법

     

    웹 서버 설정을 변경하여 디렉터리 파일 리스트가 노출되지 않도록 설정

     

     

    점검 및 조치 방법

     

    ■ 점검방법

     

    Step 1) URL 경로 중 확인하고자 하는 디렉터리까지만 주소창에 입력하여 인덱싱 여부 확인

     

    Step 2) 디렉터리 끝에 %3f.jsp 문자열을 붙여 디렉터리 인덱싱이 되는지 확인

     

    ■ 보안설정방법


    * 웹 서버 환경설정에서 디렉터리 인덱싱 기능 제거

     

    ※ 웹 서버 별 상세 설정

     

    ∎ Apache

    httpd.conf 파일 내 DocumentRoot 항목의 Options에서 Indexes 제거
    Indexes가 해당 디렉터리의 파일 목록을 보여주는 지시자임

    설정 전
    <Directory “/var/www/html”>
    Options Indexes
    </Directory>

    설정 후
    <Directory “/var/www/html”>
    Options
    </Directory>

     

    ∎ IIS 7.0

     

    설정 > 제어판 > 관리도구 > “인터넷 서비스 관리자” 선택 후 해당 웹 사이트에서 우클릭 후 등록 정보 > [홈 디렉터리] 탭 > [디렉터리 검색] 체크 해제

     

    ∎ IIS 7.5/8.0/8.5/10.0

     

    IIS(인터넷 정보 서비스) 관리자 > [해당 웹 사이트] > [IIS] > [디렉터리 검색] 선택 우측의 [사용 안 함] 버튼을 눌러 비활성화

     

    ∎ WebtoB 설정

     

    Step 1) ${WEBTOBDIR}/config/http.m 파일 Options 항목에서 index 옵션 삭제 또는, –index 옵션으로 설정 ( default: -index )


    Step 2) ${WEBTOBDIR}/config/http.m에서 확인

    # ${WEBTOBDIR}/config/http.m
    *NODE
    GuideSample WEBTOBDIR=”/home/user/webtob”,
    SHMKEY = 54000,
    DOCROOT=”/home/user/webtob/docs”,
    PORT = “8080”,
    HTH = 1,
    LOGGING = "log1",
    ERRORLOG = "log2",
    Options = “-index"

    Step 3) 확인 후 설정파일 컴파일 및 재구동
    # wscfl -i http.m (http.m 파일 컴파일)
    # wsdown
    # wsboot (재구동)


    ∎iPlanet

     

    Step 1) 관리자 콘솔에서 설정 (※ 1번 또는, 2번 방법 중 선택 적용)
    관리자 콘솔 > Server Name > Virtual Server Class > Class Manage > Content Mgmt > Document Preferences > Directory Indexing 항목 "None" 설정

     

    Step 2) 설정 파일에서 설정
    /[iPlanet Dir]/https-[Server_name]/config/obj.c

     

    ∎%3f.jsp 취약점 제거

     

    웹 서버를 Apache로 사용한다면 아래와 같이 설정하여 %3f.jsp 문자를 필터링해야 하며, Resin이나 Tomcat을 사용한다면 최신 버전으로 업그레이드함

    <LocationMatch “/(%3f|\?)\.jsp”>
    AllowOverride None
    Deny from all
    </LocationMatch>

     

    Resin 2.1.x 버전은 최신 버전으로 업그레이드하거나 아래와 같이 설정할 수 있음


    Step 1) Resin 환경설정 파일 (resin.conf)에서 가상 디렉터리 설정 부분인 “web-app id”를 찾음


    Step 2) 아래 내용 추가
    <directory-servlet>none</directory-servlet>


    ※ 주의할 점: 모든 가상 디렉터리에 적용 필요

     

    조치 시 영향 : 일반적인 경우 영향 없음

     

    댓글

    Designed by JB FACTORY