Implementing a web server in a single printf() call
tinyhack.com
tinyhack.com
That may be goldenkey's goal, and shouldn't be discouraged either. Someone's opinion that something is awful and doesn't belong here is just as legitimate as your opinion that something is informative and interesting.
Your comment is unnecessarily condescending and may discourage comments like this.
The Buffer Overflow #1 and #2 projects might also be worth checking out. You can download the project description, starter code, and VM image, and see if you can write code to get the root shell.
Quick link for those that missed how to use printf to call arbitrary functions: http://stackoverflow.com/a/7459758/113507
The requested URL /cs155/hw_and_proj/pp1/boxes-2.3.tar.bz2 was not found on this server.
From https://crypto.stanford.edu/cs155/hw_and_proj/pp1/boxes-2.3.... which is the VM image link.Anyone got any contacts at Stanford?
-Wl,-z,norelro
e.g:
gcc -Wl,-z,norelro test.c
As for the stray output displayed on the stdout: it is to be expected. The %n format outputs the numbers of character that is written by printf, so it must have written something to the stdout.
But alas, it's always fun to see. Here's an excellent article on format string vulnerabilities, an amazing read: http://crypto.stanford.edu/cs155/papers/formatstring-1.2.pdf
C designers just decided to ignored it.