In order to learn hacking firstly get clear understanding of the basic concepts of computing i.e. Operating systems, networking, web services, etc, then do some reading about different kinds of vulnerabilities and try practice exploiting them manually on platforms which @hawwk mentioned...