Beh ci sono centinaia di siti di "wargame" come HBH ( link ) e HTS ( link ).
Tutti questi tipi di siti ti insegnano a cercare diversi tipi di vulnerabilità e sono suddivisi in categorie separate come "web hacking di base", "cracking delle applicazioni", "sfide realistiche", ecc. Ciò ti dà abbastanza conoscenza per iniziare sulla strada giusta con l'apprendimento come per cercare le vulnerabilità.
Il consiglio principale che vorrei darti è imparare alcuni linguaggi di programmazione, ad esempio, ho iniziato a imparare PHP, poi sono andato a Python e C. Sto imparando sempre nuove lingue e nuovi modi per raggiungere il risultato desiderato .
Un altro punto che potrei fare, è quello di conoscere vari sistemi e applicazioni / servizi come Linux, Unix (Mac OSX, BSD ecc.), Apache, vari DBMS, e presto imparerai come funzionano e come possono essere utilizzato e rotto.
E come ha detto Dr.U, guarda le cose di OWASP perché sono un ottimo modo per imparare.