I recall reading once online about a website that had a name that sounded Japanese (Matsz... something) with security problems for programmers to do and learn about different security issues. Does anyone know what I'm talking about? I can't for the life of me remember the name, nor find if on google.
All these sorts of sites teach you about looking around for different types of vulnerabilities, and they are broken down into separate categories like 'basic web hacking', 'application cracking', 'realistic challenges', etc. That gives you enough knowledge to start you on the right track with learning how to look for vulnerabilities.
The main piece of advice I would give you is to learn a few programming languages, for example, I started off learning PHP, then went to Python and C. I am always learning new languages and new ways of achieving the desired result.
Another point I might make, is to learn about various systems and applications/services such as Linux, Unix (Mac OSX, BSD etc), Apache, various DBMS, and you will soon learn how they work and how they can be utilized and broken.
And as Dr.U said, look at the OWASP stuff as they are a great way of learning.