Everybody has to find their own way how to learn. I personally have a hard time sitting down and reading - so I created this website and YouTube channel.
A good place to start is to check out https://exploit-exercises.com, specifically the Protostar VM (as of late 2018, the site is down. Though it's easy to find them in the web archive and google). You can find my mirror of the Protostar challenges including all the videos I have created about it here: LiveOverflow - Protostar.
The Protostar videos are part of a bigger course about learning binary exploitation (and generally how computers work). So if you are interested in Linux, what it means to have a kernel and how to learn assembler for reverse engineering, check out this playlist.
A few years ago there was a CTF where you had to hack a game. Back then I was fascinated by it but didn't have the skill. A few years later I went back to it and solved all challenges which you can find here Pwn Adventure 3: Pwnie Island.
If you are more interested in web security, make sure to checkout some of the few videos I have done on that. I'm especially proud of the Angular JS sandbox bypass series.
Another big part is playing CTFs - and you can find a lot of challenge video walk-throughs in the CTF section. I would also like to specifically point out the riscure embedded hardware CTF - I covered every challenge that I have solved, including hardware attacks like power analysis side-channel and fault injection.