스택 버퍼 오버플로우 공격에 대해서 알려면 먼저 스택(Stack)의 구조에 대해서 숙지해야 한다. 일단 스택은 LIFO(Last in First Out)의 자료구조인데, 말 그대로 마지막에 들어간 데이터가 가장 먼저 나오는 구조이다. 그림으로 표현하면 다음과 같다. 위의 스택 구조는 Intel계열의 스택 구조로 스택의 아래가 뚫려있는 모양이다. 반대로 스택의 위가 뚫려있는 모양도 있는데 이는 모토로라 계열의 스택 구조이다. 스택의 구조는 총 4개로 나뉘며 일단 위에서 말한 Intel계열과 모토로라 계열의 스택으로 나뉜다. 그리고 스택의 가장 끝 데이터(Top)을 가리키고 있는 방식에 따라 두 가지로 나뉘는데, 첫 번째 방법의 경우 실제 데이터가 담겨있는 메모리를 가리키고 있는 방법이다. 이 방법은 데이터..