✏️ 코드 에디터
취약한 코드
💡 수정 가이드
Step 1: try-catch 블록 추가
try {
int param_ct = Integer.parseInt(tmp);
// ... 배열 생성 코드
} catch(Exception e) {
msg_str = "잘못된 입력(접근) 입니다.";
}
Step 2: 음수 검증 추가
int param_ct = Integer.parseInt(tmp);
if (param_ct < 0) {
throw new Exception();
}
Step 3: 최대값 검증 추가 (선택)
if (param_ct > 1000) {
throw new Exception("크기 제한 초과");
}
완성 예시:
try {
int param_ct = Integer.parseInt(tmp);
if (param_ct < 0) {
throw new Exception();
}
String[] strArr = new String[param_ct];
} catch(Exception e) {
msg_str = "잘못된 입력(접근) 입니다.";
}
📊 실시간 피드백
🎯 목표
외부 입력값을 배열 크기로 사용할 때 안전하게 검증하세요.
- try-catch 예외 처리
- 음수 값 검증 (< 0)
- 범위 초과 검증
- 에러 메시지 처리
⚠️ 취약점
현재 코드는 Integer Overflow에 취약합니다!
공격자가 -1이나 999999999를 입력하면
시스템이 다운될 수 있습니다.