[웹 취약점 진단/모의해킹/해킹] 버퍼 오버플로우
- 정보보안/Web Hacking
- 2024. 11. 16.
목차
BO - 버퍼 오버플로우
■ 점검내용
사용자가 입력한 파라미터 값의 문자열 길이 제한 확인
■ 점검목적
웹 사이트에서 사용자가 입력한 파라미터 값의 문자열 길이 제한 여부를 점검하여 비정상적 오류 발생을 차단하기 위함
■ 보안위협
웹 사이트에서 사용자가 입력한 파라미터 값의 문자열 길이를 제한하지 않는 경우 개발 시에 할당된 저장 공간보다 더 큰 값의 입력이 가능하고 이로 인한 오류 발생 시 의도되지 않은 정보 노출, 프로그램에 대한 비인가접근 및 사용 등이 발생할 수 있음
■ 참고
※ 소스코드 및 취약점 점검 필요
점검대상 및 판단기준
■ 대상 : 웹 애플리케이션 소스코드
양호
파라미터 값에 다량의 다양한 포맷 문자열 입력 시 에러 페이지나 오류가 발생하지 않는 경우
취약
파라미터 값에 대한 검증 미흡으로 에러 페이지나 오류가 발생하는 경우
■ 조치방법
파라미터 값을 외부에서 입력받아 사용하는 경우 입력 값 범위를 제한하며, 허용 범위를 벗어나는 경우 에러 페이지가 반환되지 않도록 조치
점검 및 조치 방법
■ 점검방법
Step 1) 로그인 페이지에서 계정 정보 입력 시 대량의 문자열을 입력하여 에러 페이지나 오류가 발생하는지 점검
Step 2) 로그인 후 정보변경 페이지에서 가입 정보 수정 시 대량의 문자열을 입력하여 에러
페이지나 오류가 발생하는지 점검
Step 3) 검색어 입력 시 대량의 문자열을 입력하여 에러 페이지나 오류가 발생하는지 점검
Step 4) 게시글 작성 시 대량의 문자열을 입력하여 에러 페이지나 오류가 발생하는지 점검
Step 5) URL 파라미터 값에 대량의 문자열 입력 시 에러 페이지나 오류가 발생하는지 점검
※ 텍스트 필드에 입력 값 검증(특수문자 제한, maxlength 등)이 설정된 경우 우회 시도 필요
(예: 로컬 프록시를 사용하여 요청 시 파라미터 값에 대량의 문자열 직접 입력 등)
■ 보안설정방법
* 웹 서버, 웹 애플리케이션 서버 버전을 안정성이 검증된 최신 버전으로 패치
* 웹 애플리케이션에 전달되는 파라미터 값을 필요한 크기만큼만 받을 수 있도록 변경하고 입력 값 범위를 초과한 경우에도 에러 페이지를 반환하지 않도록 설정
* 동적 메모리 할당을 위해 크기를 사용하는 경우 그 값이 음수가 아닌지 검사하여 버퍼 오버플로우를 예방하는 형태로 소스 코드 변경
* 버퍼 오버플로우를 점검하는 웹 스캐닝 툴을 이용하여 주기적으로 점검
■ 조치 시 영향 : 일반적인 경우 영향 없음