이번 문제는 RTL(Return To Library) 문제이다. 소스코드를 보면 더 이상 스택 부분 주소 값을 넣을 수 없게 '\xbf' 부분이면 프로그램이 종료된다. 여기서는 system() 함수를 사용할 것이다. 그러면 함수 주소를 알아야 한다. gdb를 이용해서 system 함수 주소 값을 가져온다. 이제 system 함수에 들어갈 인자 값이 필요하다. 여기서 우리가 system 함수를 이용해 실행할 것은 쉘(/bin/bash)이다. 당연히 메모리에 올라와 있는 문자열이 필요하다. 메모리에 /bin/bash라는 문자열이 올라와있는 곳의 주소 값을 찾아보자. 그림 1-3 소스코드를 컴파일해서 실행시켜 /bin/bash 메모리 주소값을 찾아보자. 컴파일한 후 이렇게 실행하면 메모리 주소 값이 나온다. ..