1번과 마찬가지로 취약점은 그냥 준다. system() 함수의 plt도 그냥 준다. 1번과 다른 점은... "sh\x00"의 고정 주소가 없다는 점이다.고정주소에 "/bin/sh\x00"를 올리고 이를 system() 함수의 매개변수로 주면 된다. 시나리오는 다음과 같다. 1. 오버플로우 시킬 때 rbp를 bss로 넣어주고, 취약한 함수를 다시 부른다.2. 이때 인풋을 bss에 받기 때문에 "/bin/sh\x00"를 올리고 바로 system() 함수를 부른다. rbp를 bss로 덮는 이유는, 두 번째 fgets() 함수 호출시 입력을 bss에 넣기 위함이다.fgets() 함수가 입력 받을 때 입력 버퍼 주소를 다음과 같이 rbp를 기준으로 잡는다. 첫 번째 오버플로우시 rbp를 bss+0x10으로 잡아주..