로딩
요청 처리 중입니다...

[dreamhack.io] 「out_of_bound」 풀이

 [dreamhack.io] 「out_of_bound」 풀이

Dreamhack 난이도 이름 out_of_bound 이번에는 프로그래밍을 할 때 배열을 다룰 때 경계 검사를 제대로 하지 않으면 어떤 꼴이 나는지 대충 알 수 있게 해주는 워게임인 를 풀어봅시다. 우선, OOB(Out Of Bound) 취약점에 대해 먼저 한번 알아봅시다. out of bound란 말 그대로 어떤 경계를 넘어가는 거라고 할 수 있습니다.

예를 들어, 아래와 같이 int형 자료형을 원소로 하는 4개짜리 배열을 한번 선언해 봅시다. 그러면 프로그램이 실행될 때 메모리 어느 구석에 아래와 같은 배열이 선언되어 있을 것입니다. int array[4] = {1, 2, 3, 4}; array[0] array[1] array[2] array[3] 1 2 3 4 그리고 보통, 프로그램이 돌아갈 때, 메모리는 지역성(locality)이라는 성질 때문에 여러 변수나 데이터들이 더 필요해서 이게 메모리에 들어가면, 이어서 옆 공간 쯤에 들어가게 됩니다.

컴파일...

# boundary # 프로그래밍 # 포인터 # 실수 # 셸 # 경계값 # writeup # wargame # system # pwnable # pwn # out_of_bound # dreamhack # C언어 # Clang # C # 해설