A cool legal hacking site that I used to do is
http://hackthissite.org. It has a bunch of challenges that vary in difficulty. They basically create the vulnerability and challenge you to find it. The vulnerabilities are ubiquitous and realistic so you actually learn from them.
I think it would be cool if we conferred about HTS challenges on this site, for the sake of education. Would any of you be interested in it? My username on HTS is ktm.