This is the third part of smash the tux series, in this post lets continue our work and try to finish 0x03 - 0x06 challenge Challenge 0x03: from this source code, we can see that there is a limit of input length in the program. If we try to input with a length that exceeds 512 bytes, the program will terminate itself. We can safely assume that 512 is the length that we need to overwrite the EIP register let's try to test the program by inputting just 512 bytes and see what happen to it. so what happens in here? this vulnerability is called "off by one byte" if the programmer knows that it takes 512 bytes and above to overwrite the EIP, they should not put a check like this (strlen(text) > 512) that means we can still input with length 512, to do the correct checking it supposed to be like this (strlen(text) >= 512) this will make sure that input with length 512 and above is properly sanitized Let's try to determine how much length we a...
Talk about Binary Analysis and Android Mobile security | I Create THINGS that Break THINGS :D