보안/포너블(pwnable) Out Of Boundary - 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 이외의 다른 영역에도 접근할 수 있게 된다. 0~9 사이의 값인 4를 입력했을 경우. buf[4]를 출력한다. 9를 초과하는 15를 입력했을 경우. buf 에는 없는 전혀 다른 값이 출력된다. 공유하기 URL 복사카카오톡 공유페이스북 공유엑스 공유 게시글 관리 구독하기보안을 공부하는 블로그 Contents OutOfBoundary 당신이 좋아할만한 콘텐츠 [해킹:공격의 예술] 실습 (tinyweb exploit) 2022.03.21 off-by-one 2021.07.28 포맷 스트링 취약점(Format String Vulnerability) 2021.07.20 댓글 0 + 이전 댓글 더보기