Debugging Spiders
ret2win
Problem
Solution
Basic file check and checksec reveals that the binary is ELF 32-Bit, dynamically linked not stripped and the protection enabled is NX and partial RELRO

Looking at the decompiled main function, its calling the gets() function which don't specity how much buffer it will read. So a Buffer Overflow is a possibility here.

We also noticed that there's a secret function that's never called named secret_spider(). Taking a look at it, it seems obvious that this is the win function.

Next we use to gdb-pwndbg's cyclic tool to determine the offset to the EIP and it was found at 64 bytes. Next I have written the following code to get the flag. Run with python solve.py REMOTE to run it againts the server
Flag
FindITCTF{Ju57_7h3_W4y_1t_iz}
Last updated