事の背景
会社の後輩に「SQLインジェクションのイメージが沸かない」と相談をされましたので、実際にWebアプリケーションへハッキング攻撃できる学習用アプリケーション「DVWA」を構築し、実演しようとなりました。
今回はKali LinuxにDVWAを構築するまでの手順を紹介します。
なお、本手順はIPUAIRON様のハッキング・ラボのつくりかた を参考に進めております。興味のある方は、是非読んでみてください。
0.今回の環境
構築した環境条件は以下となります。
- VirtualBox v6.1.2(r135662)
- Kali Linux 2020.1
- ブラウザ:Firefox
- Kali内での特殊な設定:私の環境ではsudoコマンド実行時、パスワードを聞かれないよう設定を変更しております。
- そのため、sudoコマンド実行時の画像等でパスワードを聞いてくるような文言がありません。デフォルト設定ではパスワードを要求されますので、自身の環境との差分にご注意ください。
1. DVWAのインストール
- KaliでDVWAのサイトへアクセスし、ページ下部の「Download」から"DVWA-master.zip"をダウンロードします。
DVWA-Damn Vulnerable Web Application
URL:http://www.dvwa.co.uk/
- ダウンロードしたファイルを"/root"配下にコピー(/移動)させます。ただし、/rootは一般権限では操作できないため、一度root権限へ昇格します。
$ sudo su
※パスワードを聞かれます。デフォルトであれば、"kali"
- root権限となったら、DVWA-master.zipをrootフォルダへコピーします。
↑一般権限では、「Permission denied」となるが、root権限後は問題なくrootフォルダへ配置できる。
- rootフォルダへ移動し、unzipコマンドで解凍します。
# cd /root
# unzip DVWA-master.zip
- 解凍したmasterを/var/www/html/配下へ移動します。その後、権限を変更します。
# cp -Rv DVWA-master /var/www/html
# chmod -Rv 777 /var/www/html/DVWA-master
- DVWA-master/configフォルダ配下にあるconfigファイル名を以下のように修正します。
# cd /var/www/html/DVWA-master/config
# mv config.inc.php.dist config.inc.php
2. サーバーの起動とDVWAへのアクセス
- ApacheとMySQLを起動します。
# service apache2 start
# service mysql start
- KaliでFirefoxを起動し、以下のURLを入力しアクセスする。apacheとmysqlが正常に起動していれば、以下のような"setup.php"の画面に自動遷移するはずです。
3. MySQLへアカウント登録
- MySQLに接続し、DB接続用のアカウントを登録します。
# mysql -u root -p
- データベースが選択されていないため、mysqlを明示します。
# use mysql
- ユーザーを作成します。
> GRANT ALL PRIVILEGES ON *.* TO '[ユーザー名]'@'localhost' IDENTIFIED BY '[パスワード]';
※[ユーザー名]と[パスワード]は任意
今回はkali/kaliで作成。正常に作成されると、「Query OK, ~」と表示されます。
- "Ctr+c"でSQL編集モードを終了し、その後mysqlをリスタートさせます。
# service mysql restert
4. configファイルの修正
- 先程のconfigファイルを開き、[ 'db_user' ]と[ 'db_passowrd' ]を先程設定したユーザー名とパスワードに変更します。
- エディタは何でもいいですが、私はviが苦手なのでnanoエディタで開きました。
# nano /var/www/html/DVWA-master/config/config.inc.php
5. DVWAのデータベース作成とログイン確認
- 「Database setup」画面(http://localhost/DVWA-master/setup.php )の一番下にある、「Create/Reset Database」ボタンを押下します。ボタンの下に、以下のようなメッセージが出ればデータベースの作成は完了です。
- ログインページ(http://localhost/DVWA-master/login.php) にアクセスします。正常にできていれば、ユーザー名とパスワードを入力する画面となっているはずです。
- Usernameに"admin"、Passwordに"password"と入力してログインします。「Welcome to Damn Vulnerable Web Application!」と書かれたページが表示されればDVWAの構築は完了です。
6. 次回以降のログインの場合。
- うっかり忘れがちですが、本アプリケーションはapacheとmysqlが動いていないと起動できません。
次回以降、続きをする場合はまずapacheとmysqlを起動してからアクセスしてください。
以上となります。