I have a assignment where i must exploit a buffer overflow vulnerability on a remote machine. I have only execute permission on the program, so i cant use gdb. I managed to take control of the rip and i can successfully overflow and write my own address. My shellcode is ready (it has executable stack and ASLR disabled) but i cant find the right address to return. It is a 64bit machine so nop padding is not an option. The main goal is to access a log file which the executable updates every time it runs. (it's a university assignment do not worry about illegal actions)
What can i do? Is there a way to calculate the memory address of the buffer, or another way? Any help would be appreciated