문제의 힌트를 보면 바로 소스코드를 보여준다. char형 배열을 두개 선언해주고, 40크기의 문자열을 표준 입력(키보드)로부터 입력받는다. 이때 배열은 둘 다 10바이트인데 40바이트를 입력받으니, buf에 입력을 받아도 버퍼 오버플로우를 이용하여 buf2의 값을 임의로 수정할 수 있을 것이라 생각된다. if문을 살펴보면, go와 buf2의 문자열을 앞 2글자만 비교하는데 즉 buf2에 go라는 문자열을 입력시키면 if문 안으로 진입할 수 있다. if문 안에서는 uid를 3010(level10의 권한)으로 변경시킨 상태에서 bash쉘을 띄운다. 즉, if문 안으로 들어가기만 하면 level10의 권한으로 쉘을 실행할 수 있는 것. /usr/bin/bof 파일은 디버거를 할 수 없으므로, 동일 코드를 le..