脆弱性のある WEB アプリケーション「DVWA」のインストール方法

WEBアプリケーション

WEB アプリケーションのハッキング演習用に、DVWA と呼ばれるWEBアプリケーションをインストールします。
この記事で「DVWA とはなにか」「Kali への DVWA インストール方法」について順を追って説明します。

DVWA とは?

まず、DVWA の説明をします。
DVWA とは Damn Vulnerable Web Application の略で、脆弱なPHP / MySQL WEBアプリケーションです。
WEBアプリケーションセキュリティを理解するための演習用アプリケーションとして使われます。

公式ドキュメントには、DVWA には以下の脆弱性が含まれていると記載があります。
・Brute Force
・Command Execution
・CSRF
・File Inclusion
・SQL Injection
・Insecure File Upload
・Cross Site Scripting(XSS)
・Easter eggs

DVWA をダウンロードする

以下のサイトからダウンロードすることができます。
今回は Kali 自身にインストールしてハッキング演習を行うため、Kali でダウンロードします。

DVWA - Damn Vulnerable Web Application
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is damn vulnerable. Its main goals are to be an aid for security professionals to test their ...

上記赤枠のボタンをクリックすると「DVWA-master.zip」をダウンロードできます。

DVWA をインストールする

「DVWA-master.zip」を解凍して、WEBサーバの公開ディレクトリに配置します。

root@kali:~/Downloads# unzip DVWA-master.zip
root@kali:~/Downloads# cp -Rv DVWA-master /var/www/html/

※「-R」オプションを付与することでディレクトリのコピーを行うことができ、「-v」オプションでコピーしたファイルを表示させることができます。

その後「DVWA-master」のパーミッションを「777(rwxrwxrwx)」に変更します。

root@kali:/var/www/html# chmod -Rv 777 DVWA-master/

config ファイルを確認すると「config.inc.php.dist」となっていますが、これは間違いで「config.inc.php」が正しいため、修正します。

root@kali:/var/www/html/DVWA-master/config# ls
config.inc.php.dist
root@kali:/var/www/html/DVWA-master/config# mv config.inc.php.dist config.inc.php
root@kali:/var/www/html/DVWA-master/config# ls
config.inc.php
root@kali:/var/www/html/DVWA-master/config#

Apache2 と MySQL を再起動して、DVWA にアクセスできるようにします。

root@kali:~# service apache2 restart
root@kali:~# service mysql restart

DVWA をセットアップする

Kali でブラウザの URL 部に以下を入力し、DVWA にアクセスします。http://localhost/DVWA-master/setup.php

すると、以下画面が表示されます。

アクセスできたら、次は MySQL に接続してアカウントを登録します。
以下のように MySQL にログインします。パスワードはルート権限を持ったユーザのものを入力してください。

root@kali:~# mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 50
Server version: 10.3.22-MariaDB-1 Debian buildd-unstable

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

データベースを mysql に変更します。

MariaDB [(none)]> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [mysql]>

プロンプトが mysql に変わったら、以下のコマンドでアカウントを登録します。

GRANT ALL PRIVILEGES ON *.* TO 'ユーザ名'@' localhost' IDENTIFIED BY 'パスワード';

今回は、ユーザ名「kdry」、パスワード「kdry」で登録します。

MariaDB [mysql]> GRANT ALL PRIVILEGES ON *.* TO 'kdry'@'localhost' IDENTIFIED BY 'kdry';
Query OK, 0 rows affected (0.002 sec)

MariaDB [mysql]>

Ctrl + C でプロンプトを抜け MySQL を再起動します。

MariaDB [mysql]> Ctrl-C -- exit!
Aborted
root@kali:~# service mysql restart
root@kali:~#

「config.inc.php」に、先程登録した MySQL アカウントを反映させます。

root@kali:~# vi /var/www/html/DVWA-master/config/config.inc.php

【編集前】

#   See README.md for more information on this.
$_DVWA = array();
$_DVWA[ 'db_server' ]   = '127.0.0.1';
$_DVWA[ 'db_database' ] = 'dvwa';
$_DVWA[ 'db_user' ]     = 'root';
$_DVWA[ 'db_password' ] = 'p@ssw0rd';

【編集後】

#   See README.md for more information on this.
$_DVWA = array();
$_DVWA[ 'db_server' ]   = '127.0.0.1';
$_DVWA[ 'db_database' ] = 'dvwa';
$_DVWA[ 'db_user' ]     = 'kdry';
$_DVWA[ 'db_password' ] = 'kdry';

編集が終わったら DVWA の画面に戻り、画面下部の「Create / Reset Databse」ボタンをクリックします。

クリックすると、以下のような画面になります。

以上でセットアップは完了です。

「Could not connect to the MySQL service. Please check the config file.」といったエラーが表示される場合は、作成した MySQL アカウントでログインできるかどうか確認してください。

root@kali:~# mysql -u kdry -pkdry -D dvwa -h 127.0.0.1

この接続に失敗する場合は MySQL のアカウント作成に失敗しています。
成功する場合は「config.inc.php」に誤りがある可能性が高いです。

DVWA のログイン確認

先程の画面の「Please login.」をクリックするとログイン画面に遷移するので、ログインができるか念の為確認します。
デフォルトのアカウントは、ユーザ名「admin」、パスワード「password」です。
※MySQL のアカウントとは別です!

ユーザ名とパスワードを入力したら Login ボタンをクリックします。
インストール、セットアップが正常に完了していれば以下の画面に遷移します。

今回は以上です。
次回以降の記事では、DVWA を使用してハッキング演習を行っていきます。

くどり

この記事は「ハッキング・ラボのつくりかた 第7章 」をベースに作成しています。購入リンクは以下です。
※Amazonアソシエイトを使用しています。

コメント

タイトルとURLをコピーしました