Apache, PHP a MySQL

DVWA vyžaduje Apache HTTP Server, PHP a databázi MySQL (nebo PostgreeSQL po náležitém nastavení konfiguračního souboru). Apache, PHP, MySQL a mnoho dalšího můžete jednoduše nainstalovat pomocí balíku XAMPP. Samozřejmě XAMPP je pouze jednou z variant, z důvodu rychlosti instalace je pro účely DVWA XAMPP optimální, zejména v OS Windows.

XAMPP si můžete stáhnout ze stránky https://www.apachefriends.org/. Vyberte kterou platformu chcete. Instalace verze pro Windows následně vyžaduje spuštění staženého EXE souboru a následné odklikávání podle instalačního průvodce. Obdobně v Linuxu (spouštíte RUN soubor) a OS X (spouštíte DMG soubor).

Aplikace DVWA

DVWA si stáhněte podle vašich preferencí z jednoho z následujících odkazů:

ZIP soubor rozbalte a soubory umístěte do html adresáře (v XAMPP si v adresáři htdocs vytvořte adresář např. dvwa, do kterého soubory vložíte). Následně do prohlížeče zadejte http://127.0.0.1/dvwa/setup.php.

Nastavení databáze

K nastavení databáze stačí jednoduše na stránce http://127.0.0.1/dvwa/setup.php stisknout tlačítko „Create / Reset Database“ a tím vytvořit data v databázi. Může se stát, že po stisknutí tlačítka „Create / Reset Database“ se zobrazí chyba „Could not connect to the database. Please check the config file.“ S největší pravděpodobností v takovém případě nesouhlasí přístupové údaje k databázi, které jsou v souboru . /config/config.inc.php:

$_DVWA[ 'db_user' ] = 'root';
$_DVWA[ 'db_password' ] = 'p@ssw0rd';
$_DVWA[ 'db_database' ] = 'dvwa';

Je nutné uvést správné údaje.

Další nastavení

V závislosti na použité verzi PHP či na operačním systému budete potřebovat provést dodatečná nastavení, aby aplikace DVWA správně fungovala (aby byla setsakramentsky zranitelná). Většinu potřebných nastavení se dozvíte ze stránky http://127.0.0.1/dvwa/setup.php. Zpravidla se jedná o následující:

  • Adresář /hackable/uploads/ musí umožňovat zápis webovou službou.
  • Soubor /external/phpids/0.6/lib/IDS/tmp/phpids_log.txt musí umožňovat zápis webovou službou.
  • Aby fungovalo Remote File Inclusions (RFI) , je třeba nastavit „allow_url_include = on“ a „allow_url_fopen = on“.
  • Pokud používáte PHP v5.4 nebo starší, nastavte „safe_mode = off“ a „magic_quotes_gpc = off“, abyste si mohli bez potíží vyzkoušet SQL injection.
  • V souboru config/config.inc.php byste měli správně nastavit
    $_DVWA[ 'recaptcha_public_key' ]
    a
    $_DVWA[ 'recaptcha_private_key' ]
    Hodnoty získáte na https://www.google.com/recaptcha/admin/create.
  • Pokud používáte PHP v5.2.6, v souboru .htaccess nahraďte
    php_flag magic_quotes_gpc off
    #php_flag allow_url_fopen on
    #php_flag allow_url_include on
    za
    magic_quotes_gpc = Off
    allow_url_fopen = On
    allow_url_include = On

Pokud vám nefunguje Command Injection, znamená to, že Apache nemá dostatečná oprávnění. V takovém případě buďte přihlášeni v Linuxu jako root, ve Windows jako správce.

Jestliže chcete zkoušet XSS, nezapomeňte, že mnohé prohlížeče některé typy XSS aktivně filtrují. Pro testování proto nezapomeňte toto filtrování vypnout.

Přihlašovací údaje

Do DVWA se přihlásíte ze stránky http://localhost/dvwa/login.php pomocí přihlašovacích údajů „admin“ (uživatelské jméno) a „password“ (heslo). To jsou jednoduché přihlašovací údaje, které snadno odhalí útok typu brute force.