[문제] [풀이] 바이너리를 실행해보면 key 값을 입력 받아 인증이 되면 flag를 출력하고 그렇지 않으면 Nah.. 를 출력하도록 되어 있는 것 같다. file 명령어를 통해 64bit 바이너리임을 확인할 수 있고, GOT Overwrite는 가능하지만 shellcode 삽입은 불가하다는 것을 알 수 있다. 코드를 확인해보면 15~17에서 rand 함수를 호출해서 random 값과 입력 값이 일치해야 flag를 출력하도록 되어있다. rand 함수를 그냥 쓸 경우 seed 값이 없어 한 번 설정된 random 값이 실행할 때마다 고정적으로 출력된다. if) 1 2 3 4 5가 처음 rand 함수 실행해서 출력되었다면 다시 실행해도 1 2 3 4 5가 출력된다는 것! 따라서 seed 값을 부여한 sran..