다음 C 코드가 길이 제한 없이 외부 입력을 복사한다. 긴 입력으로 인접 메모리와 반환 주소가 덮일 수 있을 때 해당 취약점은?
char name[16]; strcpy(name, user_input);
정답 4번
strcpy는 문자열의 끝인 널 문자까지 복사하지만 목적지 크기를 검사하지 않는다. name[16]에는 최대 15바이트의 문자와 널 문자 1바이트를 저장할 수 있다. 16바이트 문자만 입력되어도 널 문자를 쓸 자리가 부족해 경계를 넘는다. 더 긴 입력은 인접 메모리까지 손상시킬 수 있으므로 버퍼 오버플로이며, 해제 후 참조·정수 연산·형식 문자열 해석 문제와 구분된다.
콘텐츠 정보
- 자료 유형
- 정처LAB 자체 제작
- 검수 상태
- 내용 검수 완료
- 해설 작성·검수
- 정처LAB 편집 기준
- 최종 검수
- 2026-09-04