DVWAのセットアップ
DVWAは脆弱性を体験できるWebアプリケーションです。
Damn Vulnerable Web Applicationの略です。
めちゃくちゃ脆弱なウェブアプリ、火の玉直球な名前ですね。
実際のコードを見て勉強したくなったので、探してたらありました。
環境構築した時のメモ書き。
環境はUbuntu17.10 Desktop on VirtualBox 5.2
まずはGitHubからダウンロード
殺る気あふれるアイコン。
次に必要なパッケージをダウンロード
以下、コマンドはすべてroot権限で実行
apt install apache2 mariadb-server php php-mysql php-gd
READMEにも書かれている通り、実ネットワークとはNAT接続を行う仮想環境上に環境構築することを推奨していますが、 別にKali Linuxがあるなどで他ホストから攻撃する場合は、ホストオンリーアダプタを使うか、Apacheかファイアウォールの設定で特定ホスト以外の通信を拒否するようにしましょう。 事故が怖いので。
続いてデータベースのセットアップ
systemctl start mysql # 念の為 mysql -u root -e "CREATE DATABASE IF NOT EXISTS dvwa;" mysql -u root -e "GRANT ALL ON dvwa.* TO dvwa@localhost IDENTIFIED BY 'p@ssw0rd';" mysql -u root -e "FLUSH PRIVILEGES;" # いらなかったかも
パッケージをApacheルートディレクトリ以下に展開し、名前を簡単にする
unzip ./DVWA-master.zip -d /var/www/html mv /var/www/htmlDVWA-master /var/www/html/dvwa
localhost/dvwa/setup.phpにアクセスするとこんな表示が出る。
指示通りconfigをコピー、ついでにdvwaのルートに移動する。
cd /var/www/html/dvwa
cp config/config.inc.php.dist config/config.inc.php
データベースのユーザー名を変更
MariaDBだとrootログインできない
sed "s/'root';/'dvwa';/1" -i config/config.inc.php
再度localhost/dvwa/setup.phpにアクセスすると、設定画面に移動することができる。 画像は修正後のもの。
ステータスが赤いところを修正する。
httpサーバが書き込むフォルダとファイルの権限変更
chown www-data:www-data hackable/uploads chown www-data:www-data external/phpids/0.6/lib/IDS/tmp/phpids_log.txt
PHP設定ファイルがあるディレクトリへ移動し、PHPの設定を変更
エラー表示とPHP function allow_url_includeを有効にする
cd /etc/php/7.1/apache2 sed 's/display_errors = Off/display_errors = On/1' -i php.ini sed 's/allow_url_include = Off/allow_url_include = On/1' -i php.ini
https://www.google.com/recaptcha/admin/createより、reCAPTCHAの設定を行い、
キーを/var/www/html/dvwaconfig/config.inc.phpにコピペ。
$DVWA[ 'recaptcha_public_key' ]にSiteKeyを、 $DVWA[ 'recaptcha_private_key' ]にSecretKeyを代入する。
サーバの再起動
systemctl restart apache2
ブラウザを更新して、ステータス表示がすべて緑になったら、Create/Reset Database ボタンを押す。
ログイン画面に飛ぶので、usernameはadmin、passwordはpasswordでログインできることを確認したら準備完了。
お疲れ様でして。
参考というかほぼコピペ
GitHub - ethicalhack3r/DVWA: Damn Vulnerable Web Application (DVWA)