How to Practice Your Web Application Testing Skills
For those who are learning web application security testing (or just trying to stay sharp) it's often difficult to find quality websites to test one's skills. There are a few scattered around the Internet (see the link in the notes section below) but it would be nice to have a solid collection of test sites all in one place.
Aside from finding them all, another problem with most of these sites is that you can download them for free but they often require some fairly significant configuration. There should be a counter somewhere that shows how much time has been wasted trying to get Webgoat to run, for example.
There is a project that solves both of these problems simultaneously: The OWASP Broken Web Applications Project. It collects a ton of broken web apps into a single project and accomplishes a few major things:
- Aggregation: there are over a dozen broken apps--some on purpose and some old versions of real software.
- Preconfiguration: they all work the way they're supposed to--every time.
- Virtualization: they run from a virtual machine so you simply run the VM and go.
That is a ton of apps, and as I said, they actually work. You click the link as you see it above in the screenshot and you've landed on the start URL for your target. Fire up your browser, your proxy tool of choice, your favorite web scanners, etc. and you're on your way. It's projects like these that make me happy to contribute to OWASP every year.
1 Be sure to run this VM in a secure environment to avoid introduction of vulnerability to a sensitive network. Running the VM in a NAT configuration is one option.
2 I've also compiled a list on my own site that includes a collection of the web-facing vulnerable web apps provided by vendors, as well as a number of webappsec tools and suites.