[웹 취약점 진단/모의해킹/해킹] 버퍼 오버플로우

목차

     

     

    BO - 버퍼 오버플로우

     

    ■ 점검내용

     

    사용자가 입력한 파라미터 값의 문자열 길이 제한 확인

     

    ■ 점검목적

     

    웹 사이트에서 사용자가 입력한 파라미터 값의 문자열 길이 제한 여부를 점검하여 비정상적 오류 발생을 차단하기 위함

     

    ■ 보안위협

     

    웹 사이트에서 사용자가 입력한 파라미터 값의 문자열 길이를 제한하지 않는 경우 개발 시에 할당된 저장 공간보다 더 큰 값의 입력이 가능하고 이로 인한 오류 발생 시 의도되지 않은 정보 노출, 프로그램에 대한 비인가접근 및 사용 등이 발생할 수 있음

     

    ■ 참고

     

    ※ 소스코드 및 취약점 점검 필요

     

     

    점검대상 및 판단기준

     

    ■ 대상 : 웹 애플리케이션 소스코드

     

    양호

    파라미터 값에 다량의 다양한 포맷 문자열 입력 시 에러 페이지나 오류가 발생하지 않는 경우

     

    취약

    파라미터 값에 대한 검증 미흡으로 에러 페이지나 오류가 발생하는 경우

     

    ■ 조치방법

     

    파라미터 값을 외부에서 입력받아 사용하는 경우 입력 값 범위를 제한하며, 허용 범위를 벗어나는 경우 에러 페이지가 반환되지 않도록 조치

     

     

    점검 및 조치 방법

     

    ■ 점검방법


    Step 1) 로그인 페이지에서 계정 정보 입력 시 대량의 문자열을 입력하여 에러 페이지나 오류가 발생하는지 점검

     

    Step 2) 로그인 후 정보변경 페이지에서 가입 정보 수정 시 대량의 문자열을 입력하여 에러
    페이지나 오류가 발생하는지 점검

     

    Step 3) 검색어 입력 시 대량의 문자열을 입력하여 에러 페이지나 오류가 발생하는지 점검

     

    Step 4) 게시글 작성 시 대량의 문자열을 입력하여 에러 페이지나 오류가 발생하는지 점검

     

    Step 5) URL 파라미터 값에 대량의 문자열 입력 시 에러 페이지나 오류가 발생하는지 점검

    ※ 텍스트 필드에 입력 값 검증(특수문자 제한, maxlength 등)이 설정된 경우 우회 시도 필요
    (예: 로컬 프록시를 사용하여 요청 시 파라미터 값에 대량의 문자열 직접 입력 등)

     

     

    ■ 보안설정방법


    * 웹 서버, 웹 애플리케이션 서버 버전을 안정성이 검증된 최신 버전으로 패치
    * 웹 애플리케이션에 전달되는 파라미터 값을 필요한 크기만큼만 받을 수 있도록 변경하고 입력 값 범위를 초과한 경우에도 에러 페이지를 반환하지 않도록 설정
    * 동적 메모리 할당을 위해 크기를 사용하는 경우 그 값이 음수가 아닌지 검사하여 버퍼 오버플로우를 예방하는 형태로 소스 코드 변경
    * 버퍼 오버플로우를 점검하는 웹 스캐닝 툴을 이용하여 주기적으로 점검

     

     

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

     

    댓글

    Designed by JB FACTORY