DVWA(3)

Uncategorized
この記事は約8分で読めます。

今回はヤラレ役DVWAサーバの挙動を、プロキシツールの “Burp suite” を用いて調べます。

右のラズパイ4Bを “ヤラレ” サーバに仕立てて、これを左のラズパイ5から攻撃しています。
raspberry pi

DVWAサーバのセットアップ

ブラウザで、”http://192.168.11.21/DVWA/setup.php” にアクセスします。

database setup
create database

下部にある、 “Create / Reset Database” ボタンをクリックします。

これは前回投稿で作成したmariadb上のdvwaデータベース上に、DVWAが使用するテーブルなどを作成する操作です。

ログイン画面

作成に成功すると、ログイン画面に遷移します。

dvwa login

Usernameに “admin”, Passwordに “password” を入力してログインします。

上図の例では、画面にはwordpressログイン用のユーザ名とパスワードが自動入力されていますが、これは無視して下さい。

3つのIDとパスワード

上記のユーザ名とパスワードは、前稿で作成したものと異なります。

使用する場面usernamepassword
mariadb上のwordpress用のDBへwordpressが接続する時wordpress設定時に設定したユーザ名(wpuser)wordpress設定時に設定したパスワード
mariadb上のdvwa用のDBへdvwaが接続する時前回投稿で設定したユーザ名(dvwa)前回投稿で設定したパスワード
DVWA webアプリへブラウザからログインする時adminpassword

使用するのはDVWAにログインする際のユーザ名とパスワードです。ここではデフォルトをそのまま使用します。

セキュリティレベルの設定

最初は左下の “Security Level:” が “Impossible” となっています。

security level

左列の下から4番目ボタン “DVWA Security” からレベルの変更を行います。

右欄Security levelからプルダウンメニュ0で選択し、 “Submit” ボタンクリックで確定させます。

Security Levelレベル
Low甘い
Medium中間
High硬い
Impossible最強

下図ではセキュリティ最弱の “Low” に設定しています。

low security

左下、下から3行目のSecurity Level: Security Level: が、 “Low” になっています。

Brute Force 演習

左列4番目 “Brute Force” から下に、脆弱性演習メニューがズラリと並んでいます。

これをkaliの攻撃ツール(脆弱性検査ツール)で攻撃(検査)する訳です。

今回は1例としてBrute Forceを取り上げます。

左列の4番目の “Brute Force” 演習をクリックします。

brute force

ログイン場面が表示されます。

ソースコード表示

右下の “View Source” ボタンをクリックすると、PHPのソースが表示されます。

php source

burp suiteによるログイン過程のモニター

burp suiteを立ち上げ、上部のtargetタブからログイン時のhttp通信内容を表示します。

正しいパスワードでログイン成功した場合

Request

サーバへの要求

request1

Response

サーバからの応答

responce1

ログイン成功画面

login success

ログインに失敗した場合

Request

サーバへの要求

request2

Response

サーバからの応答

responce2

ログイン失敗画面

login failure

Repeaterによるhttpレクエストの再送

burp suiteでは、サーバへのhttpリクエストを改変して再送することができます。

repeater

再送したいhttpリクエストを右クリックして、 “send to repeater” を選択します。

send to repeater

1行目の “password=abcdef” を “password=password” と正しいパスワードに改変して、左上の “Send” ボタンをクリックすると、改変されたhttpリクエストがサーバに送られてログインに成功します。

request

ブラウザではログイン成功画面には変わりませんが、burp suiteからのログインには成功しています。

Burp suiteではアプリ内での出力結果保存は無料版(Community Edition)では出来ません。
保存が出来る有料版(Professional)は$499/yearです。

まとめ

今回はDVWAサーバのセットアップからセキュリティレベルの設定を行いました。

セキュリティレベル設定を、Low ➡️ Medium ➡️ High ➡️ Impossibleと変更することによりサーバとツールの挙動の変化を観察できます。

続いてBrute force演習におけるburp suiteを用いたhttp通信の観察を行いました。

そしてburpsuiteのrepeater機能によるhttpリクエスト送信について取り上げました。

参考)DVWAの演習メニュー

DVWAには本稿で取り上げたbrute force以外にも多くのメニューがあります。

ニュー名内容
Brute Forceパスワード候補を繰り返し試し、認証を突破できる問題
Command Injection入力値を悪用し、サーバー上でOSコマンドが実行される脆弱性
CSRFログイン中のユーザーに意図しない操作を実行させる攻撃
File Inclusion外部から指定したファイルなどをPHPプログラムに読み込ませる脆弱性
File Upload不適切なアップロード制御によって、危険なファイルが配置される問題
Insecure CAPTCHACAPTCHAによる本人確認や操作確認の仕組みを回避できる問題
SQL Injection入力値を悪用し、データベースへのSQL文を不正に操作する脆弱性
SQL Injection (Blind)直接的な検索結果が表示されなくても、応答の違いなどからデータベース情報を推測する攻撃
Weak Session IDs推測可能なセッションIDによって、セッションの安全性が損なわれる問題
XSS (DOM)DOMベースXSS:ブラウザー側のJavaScript処理に起因するXSS
XSS (Reflected)反射型XSS:リクエストに含まれる入力値が、適切に処理されず応答に反映される脆弱性
XSS (Stored)格納型XSS:データベースなどに保存された不正なスクリプトが、閲覧者のブラウザーで実行される脆弱性
CSP BypassContent Security Policy(コンテンツセキュリティポリシー)の制限を回避できる問題
JavaScript attacksクライアント側のJavaScriptによる入力検証や処理の仕組みを学ぶ
Authorisation Bypass本来アクセス権限のないユーザーが、制限された機能や情報にアクセスできてしまう問題
Open HTTP RedirectWebサイトのリダイレクト機能を悪用し、利用者を意図しない外部サイトへ誘導する問題
Cryptography暗号化や復号、鍵の扱い、暗号方式の選択など、暗号技術に関係する問題を学ぶ
APIAPIへのリクエストやレスポンスを観察し、APIの機能やセキュリティ上の問題を学ぶ

<PR>

コメント

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