[dreamhack.io] 「out_of_bound」 풀이


[dreamhack.io] 「out_of_bound」 풀이

Dreamhack 난이도 이름 out_of_bound 이번에는 프로그래밍을 할 때 배열을 다룰 때 경계 검사를 제대로 하지 않으면 어떤 꼴이 나는지 대충 알 수 있게 해주는 워게임인 <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 #해설

원문링크 : [dreamhack.io] 「out_of_bound」 풀이