Puedes montarte tu propio laboratorio de hacking en local(con xampp,wamp,apache o el que prefieras,ya que existen para todos los SO).Existen multiples plataformas web con fallas de seguridad para poder ser explotadas por diferentes metodos:(xss,brute force,sql inyection,etc).
Entre las mas conocidas estan: dvwa y bwapp.
¿Como lo subo a Internet para poder atacarlo fuera de LAN?
Para poder subirlo necesitarias tener un sistema de hosting.
¿Debo de aprender algún lenguaje de programación?
Para realizar las tecnicas que mensionas se necesitan saber por lo menos HTML, sql.