Arc injection / Return to libc

Why? Requirements system() fun: finding memory addresses Exploit! Success! ...but wait... And another complication... Finding an argument address Go! Go! Go! Fixing the break - how can we prevent this?