Damn Vulnerable Web App

DVWA banner
Après feu Damn Vulnerable Linux, voilà un joli projet au potentiel éducatif conséquent. Damn Vulnerable Web Application est une application PHP/MySQL odieusement vulnérable. Elle est destinée, non pas à servir de base CMS à une personnalité politique quelconque ou même à sa femme, mais à offrir un environnement de test légal à des professionnels et amateurs de la sécurité informatique, ou à des développeurs Web soucieux d’améliorer leur compréhension du code et de la sécurité applicative.

Préparation

xampp-logouwamp-logoTout d’abord il vous faudra télécharger et installer un serveur HTTP et une base de donnée MySQL. Il existe des solutions prés packagées tel qu’UwAmp ou XAMPP.

Lorsque vous aurez installé vos serveurs, vous pourrez décompresser l’archive DVWA et coller le répertoire qu’elle contient dans le répertoire public de votre serveur HTTP.

Sous Windows ils se trouvent :^

  • UwAmp :  $some_path/ UwAmp/www
  • XAMPP : $some_path/XAMPP/htdocs

Une fois que vous aurez démarré vos serveur, DVWA sera accessible à l’adresse :

Vous pouvez bien sur accéder à votre serveur depuis une autre machine… Dans ce cas, veillez à passer votre serveur en mode Online (UwAmp). Il vous faudra aussi modifier le .htaccess situé à la racine de votre répertoire DVWA :

<Limit GET POST PUT>
Order deny,allow
Deny from all
Allow from 192.168.1.0/24
Allow from 127.0.0.1
</Limit>

Les identifiants de connexion admin/password sont à renseigner dans la page http://127.0.0.1/dvwa/login.php . Votre session est alors identifiée grâce à un précieux cookie…

DVWA login

7up Database

7Up logoLorsque vous accédez pour la première fois à DVWA, il vous est demandé de créer la base de données. Cette fonctionnalité vous permettra également de restaurer cette base lorsqu’elle aura pris un coup dans le nez… *Hips !* Depuis l’interface principale il faudra presser le bouton Setup puis cliquer sur Create / Reset Database.

Si vous rencontrez une erreur, il est probable que vous n’ayez pas configuré correctement les identifiants de votre base de donnée ( Oui je sais je suis un salaud, je ne vous le dis qu’après ! )

Le fichier DVWA/config/config.inc.php, contient (entre autres) ces quelques lignes, que vous devez adapter à la configuration de vos serveurs.

$_DVWA = array() ;
$_DVWA[ 'db_server' ]= 'localhost' ;
$_DVWA[ 'db_user' ] = 'root';
$_DVWA[ 'db_password' ] = '';
$_DVWA[ 'db_database' ] = 'dvwa';

Premiers pas

Outre les pages vous permettant de tester vos tools et vos skills, deux choses sont à retenir. Tout d’abord il vous sera possible de réparer votre base de données :

DVWA db_create

Ensuite, l’application est multi-utilisateur, chaqu’un est identifié par son PHPSSID. La difficulté est configurable, elle influe sur la complexité des attaques à réaliser. Cette information est liée à la session. Chaqu’un peut donc progresser à sa guise et étudier ce qui lui convient.
DVWA security

Cookie DVWA

Si votre navigateur accepte les cookies de la part de votre serveur DVWA, vous devriez vous retrouver avec quelque chose de similaire.

DVWA cookie

 

Et sinon, vous connaissez Web Security Dojo ? Enjoy ! :)