Dockerで脆弱性WebアプリケーションDVWA構築


DockerでDVWA構築

今回は、Dockerで脆弱性WebアプリケーションであるDVWAの構築手順をまとめていきたいと思います。

DVWAを構築する目的は、攻撃手法を学び、より安全なWebアプリケーションを作成するためです。

そのため次回以降の記事では、SQLインジェクション、CSRF、XSSといったことにも触れていきたいと思います。

DVWAはPHP/MySQL製の脆弱Webアプリケーション

DVWA(Damn Vulnerable Web Application)は、PHP/MySQL製のセキュリティ脆弱性のあるWebアプリケーションです。

このDVWAに様々な攻撃を仕掛けることによってユーザーの情報を取得できるので、脆弱性を産む可能性のあるコードについて学ぶことができます。

またセキュリティレベルをLow、Medium、Highに設定できるので、基礎的な攻撃手法から応用的なものまで学ぶことができます

Dockerで簡潔にDVWA構築

今回はより短時間で容量をくわず構築するため、DockerでDVWAのイメージをプルし構築しました

前提条件

  • yum updateしたCentOS7サーバー(グローバル接続済み)

DVWAのイメージをプルして起動

まず、初期状態なので、dockerをインストール。

# yum install docker

続いてdockerコマンドで、DVWAのイメージをプル(インストール)します。

# docker pull infoslack/dvwa

続いて、HTTPの外部からアクセスされるポート番号を80、コンテナ側のポート番号を80、MySQL側も外部からアクセスされるポート番号を3306、コンテナ側のポート番号を3306に指定し、バックグラウンドでdockerを起動します。

# docker run -d -p 80:80 -p 3306:3306 -e MYSQL_PASS="mypass" infoslack/dvwa

ここまでできたら、グローバルIPアドレス/setup.php(グローバルに繋がっているサーバーの場合)にアクセスすると、DVWAのセットアップ画面がでます。

create/Reset Databaseを選択し、パスワード入力画面でUsernameをadmin、Passwordをpasswordと入力。

無事ログインできたら、DVWAの構築は完了です。

参考URL

https://www.pupha.net/archives/1297/
https://securitybytes.io/docking-dvwa-be9abf862210