
Damn Vulnerable Web Application(DVWA)は、非常に脆弱なPHP/MariaDBベースのWebアプリケーションです。その主な目的は、セキュリティ専門家が合法的な環境でスキルやツールをテストし、Web開発者がWebアプリケーションのセキュリティ確保プロセスをより深く理解し、学生や教師が制御された教室環境でWebアプリケーションセキュリティを学ぶための支援を提供することです。
DVWAの目標は、さまざまな難易度レベルで、最も一般的なWeb脆弱性のいくつかを、シンプルで直感的なインターフェースを通じて実践することです。 なお、このソフトウェアには文書化された脆弱性と文書化されていない脆弱性の両方が存在することに注意してください。これは意図的なものです。できるだけ多くの問題を発見するよう挑戦することを推奨します。
Damn Vulnerable Web Applicationは非常に脆弱です!プロバイダの公開htmlフォルダやインターネットに公開されたサーバにはアップロードしないでください。侵害される可能性があります。NATネットワークモードに設定された仮想マシン(VirtualBox や VMware など)を使用することを推奨します。ゲストマシン内に、Webサーバとデータベース用の XAMPP をダウンロードしてインストールできます。
本アプリケーション(DVWA)の使用方法について、当方は一切の責任を負いません。アプリケーションの目的は明確に示しており、悪意のある目的で使用されるべきではありません。ユーザーがDVWAを公開Webサーバにインストールすることを防ぐため、警告を発し対策を講じています。DVWAのインストールによってWebサーバが侵害された場合、その責任はアップロードおよびインストールを行った個人または組織に帰属し、当方は一切の責任を負いません。
このファイルはDamn Vulnerable Web Application(DVWA)の一部です。
Damn Vulnerable Web Application(DVWA)はフリーソフトウェアです。あなたはこれを、フリーソフトウェア財団によって発行されたGNU General Public License(バージョン3、または(オプションとして)それ以降のバージョン)の条項に基づいて、再配布および/または改変することができます。
Damn Vulnerable Web Application(DVWA)は、有用であることを期待して配布されていますが、いかなる保証もありません。暗黙の商品性保証や特定目的への適合性の保証もありません。詳細については、GNU General Public Licenseを参照してください。
あなたはこのプログラムとともにGNU General Public Licenseのコピーを受け取っているはずです。ない場合は、https://www.gnu.org/licenses/ を参照してください。
このファイルは複数の言語で利用可能です:
翻訳に貢献したい場合は、PRを提出してください。ただし、これは単にGoogle翻訳に通して提出することを意味するものではありません。そのような翻訳は却下されます。希望する言語の2文字コード(ISO 639-1 に基づく)をファイル名に使用し、'README.xx.md' という新しいファイルを追加して翻訳版を提出してください。
DVWAにはさまざまなバージョンが存在しますが、サポートされている唯一のバージョンは公式GitHubリポジトリの最新ソースです。リポジトリからクローンするか:```sh git clone https://github.com/digininja/DVWA.git
または、[ファイルのZIPをダウンロード](https://github.com/digininja/DVWA/archive/master.zip)してください。
- - -
### インストール
### 自動インストール 🛠️
**注意:これは公式のDVWAスクリプトではありません。[IamCarron](https://github.com/iamCarron/)によって作成されました。このスクリプトの作成には多くの作業が費やされており、作成時点では悪意のある動作はありませんでしたが、システム上で盲目的に実行する前にスクリプトを確認することをお勧めします。念のため。バグは[IamCarron](https://github.com/iamCarron/)に報告してください。ここではありません。**
Kali、Ubuntu、Kubuntu、Linux Mint、Zorin OSなどのDebianベースのマシン向けのDVWA自動設定スクリプト。
**注意:このスクリプトはroot権限を必要とし、Debianベースのシステム向けに調整されています。rootユーザーとして実行していることを確認してください。**
#### インストール要件
- **オペレーティングシステム:** Debianベースのシステム(Kali、Ubuntu、Kubuntu、Linux Mint、Zorin OS)
- **権限:** rootユーザーとして実行
#### インストール手順
##### ワンライナー
これにより、[@IamCarron](https://github.com/IamCarron)によって書かれたインストールスクリプトがダウンロードされ、自動的に実行されます。著者とレビュー時のスクリプトを信頼していなければここに含めることはありませんが、誰かが悪意を持つ可能性は常にあります。そのため、自分で確認せずに他人のコードを実行するのが不安な場合は、手動の手順に従って、ダウンロード後に確認してください。```sh
sudo bash -c "$(curl --fail --show-error --silent --location https://raw.githubusercontent.com/IamCarron/DVWA-Script/main/Install-DVWA.sh)"
DVWAをインストールする最も簡単な方法は、まだWebサーバーをセットアップしていない場合、XAMPPをダウンロードしてインストールすることです。
XAMPPは、Linux、Solaris、Windows、Mac OS X向けの非常に簡単にインストールできるApacheディストリビューションです。パッケージにはApache Webサーバー、MySQL、PHP、Perl、FTPサーバー、phpMyAdminが含まれています。
このビデオでは、Windowsのインストールプロセスを説明していますが、他のOSでも同様の手順です。
hoang-himself と JGillam のおかげで、master ブランチへのコミットごとにDockerイメージがビルドされ、GitHub Container Registryからプルできるようになっています。
入手できるものの詳細については、ビルド済みのDockerイメージを参照してください。
前提条件: Docker と Docker Compose。
上記の最新のDockerリリースをサポートしています。 Linux を使用していて、パッケージマネージャーに付属の Docker パッケージを使用している場合でも、おそらく動作しますが、サポートはベストエフォートとなります。
パッケージマネージャーバージョンからアップストリームの Docker にアップグレードするには、Ubuntu、Fedora などのマニュアルにあるように、古いバージョンをアンインストールする必要があります。 Docker データ(コンテナ、イメージ、ボリュームなど)は影響を受けないはずですが、問題が発生した場合は、Dockerに報告し、それまでは検索エンジンをご利用ください。
それでは、始めるには:
docker version と docker compose version を実行して、Docker と Docker Compose が正しくインストールされていることを確認します。出力にバージョンが表示されるはずです。
例:
>>> docker version
Client:
[...]
Version: 23.0.5
[...]
Server: Docker Desktop 4.19.0 (106363)
Engine:
[...]
Version: 23.0.5
[...]
>>> docker compose version
Docker Compose version v2.17.3
何も表示されないか、コマンドが見つからないというエラーが出た場合は、前提条件に従って Docker と Docker Compose をセットアップしてください。
このリポジトリをクローンまたはダウンロードして展開します(ダウンロード を参照)。
お好みのターミナルを開き、作業ディレクトリをこのフォルダ(DVWA)に変更します。
docker compose up -d を実行します。
DVWA が http://localhost:4280 で利用可能になりました。
コンテナで DVWA を実行する場合、Webサーバーは通常のポート80ではなく、ポート4280で待機していることに注意してください。 この決定の詳細については、DVWAを別のポートで実行したいを参照してください。
ローカルで変更を加え、プロジェクトをローカルからビルドしたい場合は、compose.yml に移動し、pull_policy: always を pull_policy: build に変更します。
docker compose up -d を実行すると、レジストリにあるものに関係なく、Docker がローカルからイメージをビルドするようになります。
参考: pull_policy.
ローカルで変更を行っており、変更のたびにプロジェクトをビルドしたくない場合:
compose.yml に移動し、以下をコメント解除します:
# volumes:
# - ./:/var/www/html
cp config/config.inc.php.dist config/config.inc.php を実行してデフォルトの設定ファイルをコピーします。docker compose up -d を実行すると、ローカルファイルの変更がコンテナに反映されます。理想的には、最新の安定版 PHP を使用することをお勧めします。このアプリはそのバージョンで開発およびテストされます。
PHP 5.x を使用しようとするユーザーへのサポートは提供されません。
7.3 未満のバージョンには既知の問題があり、問題が発生します。アプリの大部分は動作しますが、一部の機能がランダムに動作しない可能性があります。古いバージョンを使用する特別な理由がない限り、サポートは提供されません。
Debian ベースの Linux ディストリビューションを使用している場合、以下のパッケージ(またはそれに相当するもの)をインストールする必要があります: