[문제] [풀이] 문제의 바이너리를 실행하니 일정 개수의 문자열을 입력한 후에는 버퍼 오버플로우가 발생하는 것을 확인할 수 있었다. 보호 기법을 확인하니 ret 주소를 이용한 exploit이나 shellcode를 삽입할 수 없었다. 이에 gdb를 실행하여 함수 목록을 확인해보았다. 함수 목록을 확인하니 two, print_flag, one, select_func, main 함수가 눈에 띄였다. print_flag에서 flag를 획득할 수 있을 것 같고, main을 제외한 다른 함수들이 특이하여 살펴보았다. 먼저 main함수를 보니 main(){ setvbuf(); puts("Which function would you like to call?"); gets(&s); select_func(&s); retu..