When trying to exploit an application it’s useful to send the input via
gdb to immediately check how the input is being processed. But once the
gdb is open it’s sometimes not clear how to pass binary input to applications reading from stdin, e.g. using
read. An easy way is to start the debugging session with
gdb ./binary and using
run < <(printf "\xAA\xAA\xAA")
gdb session to send arbitrary bytes.