본문 바로가기

테스팅

2022년 테스팅 사례 공유 - 00대학교 웹사이트 웹 취약점 점검 테스팅

2022년 고품질 SW개발 컨설팅 및 테스팅 지원 사업 테스팅 사례 공유 합니다.

(재)전주정보문화산업진흥원의 SW품질역량센터에서는

2011년 부터 전라북도 ICT/SW기업을 대상으로 품질 향상을 위한 컨설팅 및 테스팅을 지원하고 있습니다.

본 테스팅은 00대학교에 납품되는 시스템을 웹 취약점 진단을 진행한 테스팅 사례입니다.

 

목차

     

    1. 테스팅 개요

    - 기업명 : 00000 소프트

    - 기업주소 : 전라북도 전주시 ***

    - 테스팅 내용 :  00 대학교 웹사이트

    - 테스팅 목적 : 기업 개발한 제품을 대상으로 KISA 웹 취약점 진단 22개 항목에 대한 보안성 기반 테스트를 통해서 고객에게 보안이 강화된 고품질 제품을 전달하기 위한 테스팅을 목표

     

    2. 테스팅 일정

    수 행 일 정 컨설팅 내용 담 당 자
    2022214() 신청서 제출 기업 담당자
    2022217() 신청서 접수 완료 컨설턴트(JICA)
    2022221() ~
    2022222()
    KISA 웹취약점 22개 항목 시험
    (SW시험실)
    컨설턴트(JICA)
    2022222() 테스팅 보고서 작성 및 기업 제공 컨설턴트(JICA)

     

    3. 테스팅 결과 요약

    본 테스팅의 지원 내용은 다음과 같습니다.

     

    1) 시험 환경

    구 분 기본정보
    시험도구 OWASP ZAP 2.11.0 디렉토리 스캔, SQL 인젝션, 디렉토리 인덱싱 취약점, XSS 취약점 진단을 위한 시험도구
    Wireshark v3.6.0 실시간 패킷 캡쳐한 데이터를 로그인 패스워드 암호화 여부를 확인하기 위한 시험도구
    editThisCookie v1.6.3 쿠키값 변경을 위한 크롬웹브라우저 확장프로그램용 시험도구
    curl v7.55.1 웹 서비스 메소드 설정 취약점 진단을 위해 사용되는 시험도구
    Burp Suite Community Edition v2021.8.4 URL/파라미터 변조, 로그인 데이터 평문 전송 취약점 진단을 위해 사용되는 시험도구
    Chrome v98.0 전반적인 취약점 진단을 위해 사용되는 시험도구
    프로그래밍언어 Java, JSP, JavaScript
    시험PC1 OS Windows 10 Pro
    CPU Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz 3.19 GHz
    Storage 250 GB, 2000 GB
    RAM 32 GB
    해상도 1920 x 1080
    그래픽 NVIDIA GeForce GTX 1050
    네트워크 Realtek PCIe GBE Family Controller
    시험PC2 OS Windows 10 Pro 64 bit
    CPU Intel(R) Core(TM) i7-8650U CPU @ 1.90 GHz 2.11 GHz
    Storage 500 GB
    RAM 16 GB

     

    2) 시험 장소

    테스트 장소
    전주정보문화산업진흥원 SW시험실

     

    3) 점검 항목

    점검 항목은 KISA 웹 취약점 진단 22개 항목을 기준으로 함

    순번 코드 점검항목 항목 내용
    1 OC 운영체제 명령 실행 웹 어플리케이션에서 system(), exec()와 같은 시스템 명령어를 실행시킬 수 있는 함수를 제공하며 사용자 입력 값에 대한 필터링이 제대로 이루어지지 않을 경우 공격자가 운영체제 시스템 명령어를 호출하여 백도어 설치나 관리자 권한 탈취 등 시스템 보안에 심각한 영향을 미칠 수 있는 취약점
    2 SI SQL 인젝션 데이터베이스와 연동된 웹 어플리케이션에서 SQL 질의문에 대한 필터링이 제대로 이루어지지 않을 경우 공격자가 입력이 가능한 폼(웹 브라우저 주소 입력창 또는 로그인 폼 등)에 조작된 질의문을 삽입하여 웹 서버의 데이터베이스 정보를 열람 또는 조작을 할 수 있는 취약점
    3 XI XPath 인젝션 데이터베이스와 연동된 웹 어플리케이션에서 XPath XQuery 질의문에 대한 필터링이 제대로 이루어지지 않을 경우 공격자가 입력이 가능한 폼(웹 브라우저 주소 입력창 또는 로그인 폼 등)에 조작된 질의문을 삽입하여 인증 우회를 통해 XML 문서로부터 인가되지 않은 데이터를 열람 할 수 있는 취약점
    4 DI 디렉토리 인덱싱 웹 어플리케이션을 사용하고 있는 서버의 미흡한 설정으로 인해 인덱싱 기능이 활성화가 되어있을 경우, 공격자가 강제 브라우징을 통해 서버내의 모든 디렉터리 및 파일에 대해 인덱싱이 가능하여 웹 어플리케이션 및 서버의 주요 정보가 노출될 수 있는 취약점
    5 IL 정보노출 웹 어플리케이션의 민감한 정보가 개발자의 부주의로 인해 노출되는 것으로 중요 정보(관리자 계정 및 테스트 계정 등)를 주석구문에 포함시켜 의도하지 않게 정보가 노출되는 취약점
    6 CS 악성콘텐츠 웹 어플리케이션에서 사용자 입력 값에 대한 필터링이 제대로 이루어지지 않을 경우 공격자가 악성콘텐츠를 삽입할 수 있으며, 악성콘텐츠가 삽입된 페이지에 접속한 사용자는 악성코드 유포 사이트가 자동으로 호출되어 악성코드에 감염될 수 있는 취약점
    7 XS 크로스사이트스크립팅(XSS) 웹 어플리케이션에서 사용자 입력 값에 대한 필터링이 제대로 이루어지지 않을 경우, 공격자가 입력이 가능한 폼(웹 브라우저 주소입력 또는 게시판 등)에 악의적인 스크립트를 삽입하여 사용자 세션 도용, 악성코드를 유포할 수 있는 취약점
    8 BF 약한 문자열 강도(브루트포스) 웹 어플리케이션에서 회원가입 시 안전한 패스워드 규칙이 적용되지 않아 취약한 패스워드로 회원가입이 가능할 경우 공격자가 추측을 통한 대입 및 주변 정보를 수집하여 작성한 사전파일 통한 대입을 시도하여 사용자의 패스워드를 추출할 수 있는 취약점
    9 IN 불충분한 인증 및 인가 웹 어플리케이션에서 개인정보 수정 페이지나 통합 로그인(SSO)과 같은 곳에서 사용자 인증이 미흡(아이디로 인증)할 경우 공격자가 파라미터로 전달되는 값을 수정하여 사용자 도용 및 개인정보 노출 문제가 발생할 수 있는 취약점 또한 관리자 권한을 가지고 있는 페이지에 대해 접근 제한을 설정하지 않았을 경우 공격자가 해당 페이지로 접근하여 조작이 가능한 문제가 발생 할 수 있음
    10 PR 취약한 패스워드 복구 웹 어플리케이션에 존재하는 비밀번호 찾기 기능 또는 관리자에 의한 임시 비밀번호 발급 시 사용자 인증이 미흡하거나 비밀번호를 화면에 즉시 출력할 경우 공격자가 불법적으로 다른 사용자의 비밀번호를 획득, 변경, 복구 할 수 있는 취약점
    11 SM 불충분한 세션 관리 웹 어플리케이션에서 사용자가 로그인을 할 경우 매번 동일한 세션 ID(일정한 패턴이 존재)를 발급하거나 세션 타임아웃을 너무 길게 설정하였을 경우 공격자가 다른 사용자의 세션을 재사용 하여 해당 사용자의 권한을 탈취할 수 있는 취약점
    12 CF 크로스사이트 리퀘스트 변조(CSRF) 웹 어플리케이션에서 정상적인 경로를 통한 요청과 비정상적인 경로를 통한 요청을 서버가 구분하지 못할 경우 공격자가 스크립트 구문을 이용하여 정상적인 사용자로 하여금 조작된 요청을 전송 하도록 하여 게시판 설정 변경 및 자동 댓글, 회원 등급 변경 등의 문제가 발생할 수 있는 취약점
    13 AU 자동화공격 웹 어플리케이션 운영 시 특정 프로세스에 대한 접근시도 횟수 제한을 설정하지 않을 경우 공격자가 자동화 툴 및 봇을 활용하여 일분에 수백 번의 접근을 시도 할 수 있으며 특정 프로세스를 반복 수행함으로써 자동으로 수많은 프로세스(DoS,
    무차별 대입 기법 등)가 진행되어 시스템 성능에 영향을 미칠 수 있는 취약점
    14 FU 파일업로드 파일 업로드 기능이 존재하는 웹 어플리케이션에서 확장자 필터링이 제대로 이루어지지 않았을 경우 공격자가 악성 스크립트 파일(웹쉘)을 업로드 하여 웹을 통해 해당 시스템을 제어할 수 있어 명령어 실행 및 디렉터리 열람이 가능하고 웹 페이지 또한 변조가 가능한 취약점
    15 FD 경로추적 및 파일다운로드 파일 다운로드 기능이 존재하는 웹 어플리케이션에서 파일 다운로드 시 파일의 경로 및 파일명을 파라미터로 받아 처리하는 경우 파일에 대한 접근 권한이 설정되어 있지 않다면 공격자가 파라미터를 조작하여 환경설정 파일, 웹 소스코드 파일, 데이터베이스 연동 파일 등을 다운 받을 수 있는 취약점 경로추적의 경우 인증되지 않은 사용자가 시스템에 접근하여 중요한 파일을 읽거나 권한 없는 기능 등을 수행할 수 있는 취약점
    16 AE 관리자페이지 노출 웹 어플리케이션의 전반적인 기능 설정 및 회원 관리를 할 수 있는 관리자페이지가 추측 가능한 형태로 구성되어 있을 경우 공격자가 관리자페이지에 쉽게 접근을 할 수 있으며 무차별 대입 공격을 통하여 관리자 권한을 획득할 수 있는 취약점
    17 PL 위치공개 개발 과정 또는 소스코드를 수정하였을 경우 백업파일, 로그파일, 압축파일과 같은 파일이 자동적으로 생성되어 웹 어플리케이션 상에 노출될 경우 공격자가 유추 후 직접 접근을 요청하여 핵심정보를 획득할 수 있는 취약점
    18 SN 데이터 평문 전송 로그인 또는 실명인증 시 민감한 데이터(개인 식별번호, 계정정보 등)가 평문으로 통신채널을 통해 송수신 될 경우 공격자가 감청(스니핑)을 통해 다른 사용자의 민감한 데이터를 획득 할 수 있는 취약점
    19 CC 쿠키 변조 웹 어플리케이션 운영 시 사용자 인증 방식 중 하나인 쿠키를 공격자가 변조하여 다른 사용자로 전환하거나 권한 상승이 가능한 취약점
    20 MS 웹 서비스 메소드 설정 공격 웹 어플리케이션에서 일반적으로 사용하는 GET, POST 메소드 이외의 PUT, DELETE, COPY, MOVE 등의 불필요한 메소드를 허용하였을 경우 공격자가 이를 이용하여 웹 서버에 파일을 생성하거나 삭제 및 수정이 가능한 취약점
    21 UP URL/파라미터변조 웹 어플리케이션 상에 존재하는 모든 실행경로에 대해서 접근제어를 검사하지 않거나 미흡한 경우 공격자가 접근 가능한 실행경로를 통해 사용자의 정보를 유출 하거나 일시적인 권한 상승이 가능한 취약점
    22 ETC 기타(검증되지 않은 리다이렉트와 포워드외 정보노출 등) 웹 어플리케이션은 간혹 다른 페이지로 연결(리다이렉트, 포워드)하기 위한 목적 페이지를 결정하기 위해 신뢰 되지 않은 데이터를 사용한다. 적절한 확인이 없다면 공격자는 이용자를 피싱, 악성코드 사이트로 연결시키며 공격자는 권한이 없는 페이지 접근을 위해 사용할 수 있는 취약점 및 DB정보 및 관련 정보노출에 대한 취약점

     

    4) 결과 요약

    본 웹 취약점 진단은 00대학교 웹사이트를 대상으로 이루어졌다. 그 결과 총 2개 항목에 대한 취약점이 발견되었으며, 추가 보완조치에 대한 항목 2개가 발견됨. 진단결과는 다음 표와 같다.

    번호 취약점 요약 결과
    1 운영체제 명령 실행 URL 파라미터 값 부분에 운영체제 명령어를 이용하여 공격 시도하고, 로그인 창을 통하여 공격 시도하여 진단을 하였으며, 해당 취약점은 발견되지 않음 PASS
    2 SQL 인젝션 웹브라우저를 통한 로그인 페이지에서 SQL 인젝션 공격 시도를 하였으며, OWASP ZAP 자동화 도구를 통하여 진단한 결과 해당 취약점은 발견되지 않음 PASS
    3 XPath 인젝션 로그인 페이지에서 XPath 인젝션 공격 시도를 하였으며, OWASP ZAP 자동화 도구를 통하여 진단한 결과 해당 취약점은 발견되지 않음 PASS
    4 디렉토리 인덱싱 웹사이트 URL에 디렉토리 노출 유도를 위한 구문을 통한 공격 시도를 하였으며, OWASP ZAP도구의 Spider기능을 통하여 진단한 결과 해당 취약점은 발견되지 않음 PASS
    5 정보노출 robots.txt 파일 디렉토리 노출 확인하였으며, 해당 취약점은 발견되지 않음 PASS
    6 악성콘텐츠 SQL 인젝션, 크로스사이트스크립팅(XSS), 파일업로드 취약점에서 취약점이 발견되지 않았음으로 해당 취약점에 대한 해당사항이 없음으로 진단하지 않음 N/A
    7 크로스사이트 스크립팅
    (XSS)
    OWASP ZAP 자동화 도구를 통하여 분석한 결과 Medium 수준의 XSS 취약점 3개가 발견됨 FAIL
    8 약한 문자열 강도(브루트포스) 로그인 화면에서 일부 추측 가능한 아이디 및 비밀번호 입력시 취약점이 발견되지 않았음 PASS
    9 불충분한 인증 및 인가 불충분한 인증 및 인가에 대한 취약점은 발견되지 않았음 PASS
    10 취약한 패스워드 복구 아이디찾기/비밀번호 찾기 기능에 대한 시험을 진행하였으나 직접 접근이 되는 해당 취약점은 발견되지 않음 PASS
    11 불충분한 세션 관리 복사된 쿠키 값을 사용해서 로그인이 됨을 확인하였으며, 해당 취약점이 발견됨 PASS
    12 크로스사이트 리퀘스트 변조(CSRF) OWASP ZAP 자동화 도구를 사용하여 분석한 결과 해당 점검항목에서 Medium 수준의 XSS 취약점 10개가 발견됨 FAIL
    13 자동화공격 로그인 비밀번호 오류, 동일한 ID 동시접속, 게시판 캡쳐 기능등에 대해서 해당 취약점이 발생할 우려가 있음 보완
    권장
    14 파일업로드 파일업로드에 대한 취약점은 발견되지 않았으나 에러 메시지 출력에 대한 기능 추가를 권장함 PASS
    15 경로추적 및 파일다운로드 경로추적 및 파일다운로드에 대한 취약점은 발견되지 않았음 PASS
    16 관리자페이지 노출 관리자페이지 노출에 대한 취약점은 발견되지 않았음 PASS
    17 위치공개 구글 검색, 페이지 점검에 대한 진단을 하였으며, 위치공개에 대한 취약점은 발견되지 않았음 PASS
    18 데이터 평문 전송 Burp Suite, WireShark로 확인한 결과 로그인 아이디, 패스워드에 대한 데이터 평문 전송 취약점 발견되지 않았음(RSA암호화 적용됨을 확인함)
    HTTPS 보안 프로토콜 사용을 권장
    PASS
    19 쿠키 변조 쿠키내용 및 발행되는 쿠키에 중요정보(인증을 위한 ID, 권한을 위한 구분자 등)의 노출 여부와 쿠키 변조에 대한 취약점이 발견되지 않았음 PASS
    20 웹 서비스 메소드 설정 공격 curl 시험도구를 통하여 시험한 결과 불필요한 메소드(PUT, DELETE, COPY, MOVE)가 허용되지 않음. 해당항목에 대한 시험결과 취약점 발견 안됨 PASS
    21 URL/파라미터변조 Burp Suite도구를 통하여 해당 항목을 진단한 결과 취약점이 발견되지 않았음 PASS
    22 기타(검증되지 않은 리다이렉트와 포워드 외 정보노출 등) - 검증되지 않은 리다이렉트와 포워드에 대한 취약점을 시험한 결과 해당항목에 대한 취약점 발견이 되지 않음
    HTTPS 보안 프로토콜 사용을 권장
    보완
    권장

     

     

    김영찬 (소프트웨어 품질 전문가)

    (재)전주정보문화산업진흥원(JICA)

    소프트웨어 개발자로 10년간 발로 코딩 하다가 한계를 느끼고, 

    2015년부터 소프트웨어 품질에 몸을 담고 기업을 돕고 있음

    email.  sweng@jica.or.kr  / tel. 063-281-4113

    주업무 : 소프트웨어 품질 컨설팅, 테스팅,  KOLAS 기술책임자, 개발자 네트워크 운영

    자격

      - SP, CMMI, VSE(ISO 29110), ISMS(ISO 27001) 인증 심사원

      - AIT, ISTQB FL, CSTS, 29119 외 다수