Punch this in a terminal:
nc pwnable.kr 9000
nc is "netcat" - it connects you to a remote server (pwnable.kr) on port 9000.
The goal is to get a shell!
This is a classic "buffer overflow" — read the source code (bof.c)
Try spamming a bunch of A's by hand.
You can use python to create your cromulently crafted input:
(python -c "print 'A'*2+'\x42'" ; cat) | ./bof # locally
(python -c "print 'A'*2" ; cat) | nc pwnable.kr 9000 # remotely
You can do it this way, or you can use a python script to keep things a little more organized/permanent. solve.py is a stub.
Questions? Ask Ian.