✏️ Java 코드 에디터
취약한 코드
public String getValue(String[] array, int index) {
// [취약한 코드] 입력받은 index가 유효한 범위인지 확인하지 않음
// index가 음수이거나 배열 길이보다 크면 ArrayIndexOutOfBoundsException 발생
return array[index];
}
💡 수정 가이드
1. 배열 인덱스 유효성 검사
배열에 접근하기 전 인덱스가 0 이상이고 배열 길이보다 작은지 검사합니다.
if (index >= 0 && index < array.length) {
return array[index];
} else {
return "Index out of bounds";
}
📊 분석 결과 및 설명
🎯 목표
메모리 관리 언어(Java 등)에서는 버퍼 오버플로우가 직접 발생하지 않지만, 배열 인덱스 초과 등으로 인한 예외 발생 및 서비스 거부(DoS)를 방지해야 합니다.
⚠️ 현재 취약점
Improper Index Validation
입력값 검증 부재로 인해 런타임 에러가 발생하여 프로그램이 비정상 종료될 수 있습니다.