Security for Web Developers: 15: Testing Guides and Aids


By the Book

There are lots of methodologies, more or less formal, for testing your web app’s security. OWASP is, of course, a biggie.

And don’t forget tools for particular platforms, for instance WordPress. (this is great)


Security for Web Developers: 14: Burp Suite

Burp Suite

Grand Master Ninja Hacking With Burp Suite

It can seem wildly complex, but it’s actually pretty straightforward to use. There are a lot of tutorials for it, but one of my favorite presenters is Andi Fishta; his videos are very short and get right to the point.

Assignment: Watch the above video. Notice it’s numbered 06 01.

Go to Youtube for the rest: Watch through at least 06 06 (or all of them if you’re eating those two-minutes videos like cookies).

Download Burp Suite. Fire it up. Does your site use passwords? Try some brute force on your login form. Does your site have any kind of inputs? Try automated SQL injection with Burp Suite.


Security for Web Developers: 13: Testing With Hydra

THC Hydra


First, be clear that there is more than one way to password-protect a website or a directory (folder) inside a website. One is to use a database management system to control what everybody sees. Another is to use simple htaccess files to require a password. Regardless, Hydra is an app to brute-force website logins, including just about any service you can get to over the Internet.

Assignment: First, watch this video.

Note that there are more videos in this series. Click the Youtube link to find them there.

There is also a nice tutorial with some insightful comments here:

Get Hydra. Fire it up. Does your site use passwords? Try some brute force on your login form.


Security for Web Developers: 12: Mutillidae


Using Mutillidae

Mutillidae is another pre-built vulnerable web app. It’s highly aligned with the OWASP testing organization (which can take you wildly deep into the world of web app testing). You can install it side-by-side with other web apps by simply putting it in a separate sub-folder. (How does mutillidae/ sound for a name?)

Assignment: Download Mutillidae and set it up on your pen testing machine.


Security for Web Developers: 11: DVWA


Using Local Test Web Apps

You should be testing  your site. If you don’t – or even if you do – other people will. So get familiar with some of the tools of the trade. Use a local website development tool like XAMPP so you can host vulnerable websites on your security testing computer.

Using DVWA

Damn Vulnerable Web App is exactly that: a testing website that’s prebuilt for you, ready to unzip into a folder in your web root. DO NOT run your local web service (like XAMPP) with this web app installed while you are accessible from the Internet. It’s called Damn Vulnerable for a reason. Suggestion: set it up in a virtual machine.

Assignment: Download DVWA and set it up on your pen testing computer.


Security for Web Developers: 10: Defense Strategies

Strategic Defense Initiative

Security Strategy A: Put someone on it full-time.

Security Strategy B: Use a web scanning service or plugin.

  • Does your hosting provider offer a website monitoring service? (For instance, GoDaddy does.)
  • Does your platform offer free or paid monitoring plugins? (WordPress has dozens.)


Security for Web Developers: 09: Exploits

Security Exploits

Which Exploits Will You Meet: Known or Unknown?

Your site is likely to be attacked by known, old exploits, unless you’re a spy site. Don’t be relieved. You still have to protect your site against all those old threats, and the probabilities are way too great that something evil’s going to work.

Fortunately, truly rigorous auditing can keep you certain that your site is protected against the known threats.

Assignment: Look up your web application’s exploits at the Exploit Database

Search against:

  • Your web server’s OS and version (Linux, Unix, Windows, Mac, e.g. Ubuntu Linux 14.04, Windows Server 2012, etc.)
  • Your web daemon software and version (Apache, IIS, Nginx, by version)
  • Your web language, framework, platform and version (PHP, Python, Java; CodeIgniter or J2EE; WordPress, Joomla! or Moodle, again by version)