A Damn Vulnerable Web Aplication - továbbiakban DVWA (link) - egy olyan webalkalmazás, amely etikus hekkereknek, webes biztonságtechnikai szakembereknek, web fejlesztőknek lett létrehozva, hogy kipróbálják és gyakorolják a különböző sebezhetőségek feltárását, működését, azaz egyfajta gyakorlótér. Rengeteg sebezhetőség fajtát lehet kipróbálni, gyakorolni, különböző nehézségi szinten.

Telepítés

Ajánlott egy szeparált virtuális környezetbe telepíteni a rendszert a sok kihasználható sebezhetőség miatt. Tehát semmiképp se tegyük egy internetről elérhető gépre. A telepítés viszonylag egyszerű, mivel csak egy web kiszolgáló php-vel és egy mysql adatbázis szerver kell neki. Én egy minimális Debian rendszerre fogom felrakni, ennek a telepítését nem részletezem. A lényeg, hogy nem kell semmi extra, de egy ssh szervert azért tegyünk fel, hogy a DVWA könnyebb beállításához, be tudjunk ssh-zni.

# apt-get install openssh-server
...

Ha az alap szerver kész, akkor jöhetnek a szükséges csomagok, apache2, mysql, php5 és egy unzip a letöltött rendszer kicsomagolásához.

# apt-get install apache2 mysql-server php5 php5-mysql php5-pear* unzip

A mysql szerver root jelszavát jegyezzük meg mert majd be kell állítani a DVWA config fájljába.

dvwa_mysql

Ellenőrizzük a DVWA weboldalán (link), hogy mi a legfrissebb verzió (jelen esetben ez a v1.9) és töltsük le.

# wget https://github.com/RandomStorm/DVWA/archive/v1.9.zip
--2016-03-13 10:46:09--  https://github.com/RandomStorm/DVWA/archive/v1.9.zip
github.com (github.com) feloldása… 192.30.252.131
Csatlakozás a következőhöz: github.com (github.com)[192.30.252.131]:443… kapcsolódva.
...
HTTP kérés elküldve, várakozás válaszra… 200 OK
Hossz: 1311427 (1,2M) [application/zip]
Mentés ide: „v1.9.zip”

v1.9.zip            100%[=====================>]   1,25M  1,26MB/s  idő 1,0s   

2016-03-13 10:46:11 (1,26 MB/s) -- „v1.9.zip” mentve [1311427/1311427]

Csomagoljuk ki.

# unzip v1.9.zip
Archive:  v1.9.zip
3cd38c444249e3a016fc203c79ecb68052283f54
   creating: DVWA-1.9/
  inflating: DVWA-1.9/.htaccess      
  inflating: DVWA-1.9/CHANGELOG.md   
...
  inflating: DVWA-1.9/vulnerabilities/xss_s/source/low.php  
  inflating: DVWA-1.9/vulnerabilities/xss_s/source/medium.php

Ellenőrizzük a telepített apache webszerver tufását. Ehhez elég ha beírjuk a böngészőnkbe a virtuális gépünk IP címét, ami nekem ez jelen esetben 192.168.10.200

dvwa_apache2

Ha az Apache2 szerver alap képernyőjét látjuk, akkor eddig minden rendben. Most helyezzük át a kicsomagolt telepítőt a webszerver dokumentum könyvtárába, ami alapesetben a /var/www/html/ mappa.

# mv DVWA-1.9/* /var/www/html/

Állítsuk át az áthelyezett fájlok tulajdonosát www-data-ra, majd indítsuk újra a webszervert.

# chown -R www-data. /var/www/html/*
# systemctl restart apache2

A böngészőbe nézzük meg a http://192.168.10.200/setup.php oldalt.

dvwa_setup_errors

Láthatjuk, hogy az oldalon pirossal van jelezve pár hiányzó beállítás. Vegyük ezeket sorra.

  • PHP function display_errors: Disabled - Ez ugyan nem piros, de ha a /etc/php5/apache2/php.ini-ben a display_errors-t On-ra állítjuk, akkor túl könnyű dolgunk lenne a gyakorlások során, tehát ez Off vagyis Disabled marad.
  • PHP function allow_url_include: Disabled - A /etc/php5/apache2/php.ini-ben az allow_url_include értéket állítsuk On-ra.
  • PHP module php-gd: Missing - A php-gd modult telepíteni kell.
# apt-get install php5-gd

Ha ezek megvannak, akkor a DVWA konfigurációs fájljába adjuk meg a mysql root jelszavát és a reCAPTCHA kulcsokat.

# nano /var/www/html/config/config.inc.php
...
$_DVWA[ 'db_database' ] = 'dvwa';
$_DVWA[ 'db_user' ]     = 'root';
$_DVWA[ 'db_password' ] = 'jelszó';
...
$_DVWA[ 'recaptcha_public_key' ]  = 'publikus kulcs';
$_DVWA[ 'recaptcha_private_key' ] = 'privát kulcs';
...

Ezek után nincs más hátra mint a webszerver újraindítása. Ha mindent jól csináltunk, akkor az oldalon már nem lehet pirossal jelölt rész. Az utolsó lépés, az oldal alján levő Create / Reset Database gomb megnyomása.

dvwa_setup_complete

Az adatbázis elkészült és pár másodperc múlva automatán betöltődik a belépési oldal.

dvwa_login

Az alapértelmezett felhasználónév (admin) és jelszó (password) beütése után már is gyakorolhatunk.

dvwa_main

Jó szórakozást!