Mutillidae: Deliberately Vulnerable PHP Scripts Of OWASP Top 10

Latest Version

The latest version of Mutillidae is available from www.irongeek.com

Installation Instructions

Installation Instructions
 
Usage Instructions
Mutillidae implements the OWASP Top 10 in PHP. Go to the OWASP Top 10 page to read about a vulnerability, then choose it from the list on the left to try it out. Hints may help. Mutillidae currently has two modes: secure and insecure (default). In insecure mode, the project works like Mutillidae 1.0. Pages are vulnerable to at least the topic they fall under in the menu. Most pages are vulnerable to much more. In secure mode, Mutillidae attempts to protect the pages with server side scripts. Also, hints are disabled in secure mode. In the interest of makign as many challenges as possible, this can be defeated. In Mutillidae 2.0, the code has been commented to allow the user to see how the defense works. To get the most out of the project, avoid reading the source code until after learning how to exploit it. But if you get stuck, the comments should help. Learning how the attack works should help to understand the defense.
 
PHP Errors
Get rid of PHP "strict" errors. They are not compatible with the OWASP ESAPI classes in use in Mutillidae 2.0. The error modifies headers disrupting functionality so this is not simply an annoyance issue. To do this, go to the PHP.INI file and change the line that reads "error_reporting = E_ALL | E_STRICT" to "error_reporting = E_ALL & ~E_NOTICE & ~E_WARNING & ~E_DEPRECIATED". Once the modification is complete, restart the Apache service. If you are not sure how to restart the service, reboot. Important note: If you use XAMPP Lite or various version of XAMPP on various operating systems, the path for your php.ini file may vary. You may even have multiple php.ini files in which case try to modify the one in the Apache directory first, then the one in the PHP file if that doesnt do the trick. Windows possible default location C:\xampp\php\php.ini, C:\XamppLite\PHP\php.ini, others Linux possible default locations: /XamppLite/PHP/php.ini, /XamppLite/apache/bin/php.ini, others
 
Notes
 
Samurai WTF and Backtrack contains all the tools needed or you may build your own collection
Backtrack
Backtrack
Samurai Web Testing Framework
Samurai Web Testing Framework
Eclipse PDT PHP-MySQL PHP-MySQL