해커 지망자들이 알아야 할 Buffer Overflow Attack의 기초 Buffer overflow 공격 Buffer overflow 공격 실제 공격 방법을 시험해 보기 위해 vul.c 프로그램을 살펴보자. 실행 시 주어지는 첫 번째 인자를 buffer라는 char형 배열에 복사한다. bound check를 하지 않는 strcpy()함수를 이용하고 있다. 1024바이트의 버퍼공간에 쉘 코드와 NCP로 채우고 4바이트는 main함수의 base pointer이므로 NCP로 채우고 다음 만나는 4바이트가 return address이므로 이곳에 쉘 코드가 있는 곳의 address를 넣어주면 쉘 코드를 실행시킬 수 있다. 컴파일 후 setuid bit를 걸어준다. 고전적인 방법 쉘 코드가 있는 곳의 addre..