Out Of Boundary
- 버퍼의 영역을 벗어나는 인덱스에 접근할 수 있는 취약점
* 예제 코드(칼리리눅스에서 실행)
#include <stdio.h>
int main() {
char buf[10]="abcdefghi";
int input_num=0;
printf("Which Index : ");
scanf("%d",&input_num);
printf("Index : %d, Value : %c\n",input_num,buf[input_num]);
return 0;
}
위의 코드는 배열을 선언하고, 인덱스 값을 받아서 해당 인덱스에 저장된 값을 출력하는 코드이다.
0~8 사이의 인덱스가 입력되게 되면 정상적으로 값을 출력하게 되지만, 8을 초과하는 값을 입력하게 되었을 경우
사용자가 입력하는 인덱스 값을 검증하는 코드가 없기 때문에 buf 이외의 다른 영역에도 접근할 수 있게 된다.