Format string vulnerability to leak stack and libc addresses. Overwrite return address to return to main for more input opportunities. Overwrite printf GOT with system and send /bin/sh\x00 as next payload. See original for more details.