実際に脆弱性診断を行ってみた

はじめに

こんにちは!Sekoguchiです。
脆弱性診断学習をするために、実際にWebサイトに脆弱性診断を行いました。

目次

手順の概要

  1. DVWAの起動
  2. OWASP ZAPのインストール
  3. OWASP ZAPの設定
  4. 脆弱性診断

実行環境

Amazon EC2
Amazon Linux
XAMPP
DVWA
OWASP ZAP
Google Chrome

手順

DVWAの起動

EC2にXAMPP、DVWAをインストールし起動させる。インストール方法は下記リンクを参照してください。
https://www.skyarch.net/blog/?p=21942

OWASP ZAPのインストール

下記リンクからOWASP ZAPをダウンロードしてください。
https://www.zaproxy.org/download/

プロキシの設定

PC側、OWASP ZAPでプロキシ設定をします。設定→ネットワークとインターネット→プロキシをクリックしアドレスとポートを入力。
今回は標準のアドレスとポートを使用しています。

OWASP ZAPを起動、ZAPセッション保持方法を選択した後、左上モード選択にてプロテクトモードに設定
※標準モードだと他のサイトも脆弱性診断してしまう可能性があるため
⚙マークでオプションを呼び出します。ローカルプロキシを選択し先ほどのアドレスとポートを入力します。

OWASP ZAPの設定(コンテキスト)

プロキシ設定を完了したらDVWAにアクセスしましょう。
アクセスするとOWASP ZAPのサイト欄にサイトURLが表示されます。
脆弱性診断対象URLを右クリックてコンテキストに含める→既存コンテキストを選択→OKをクリックする。

OWASP ZAPの設定(認証情報)

次に自動ログインした後のページも診断するためログインパスワードを入力します。
実際に対象ページにログインをし、ログイン情報のあるPOSTを右クリックしFlag as contextのForm basedを選択

Username parameter:Login password parameter:posswordを選択
ユーザータブを開き追加をクリックし、認証情報を入力

OWASP ZAPスキャン

対象のサイトを右クリックしスパイダーを実行、スキャン開始をクリック
次は動的スキャンをクリックし先ほど認証で作成したユーザー入力しスキャン開始をクリック

脆弱性の確認

アラートをクリックすると脆弱性を確認できます。実際にエスケープ処理が行われていないなど確認をし、修正を行って脆弱性を無くし安全なサイトを作成しましょう。

まとめ

定期的に脆弱性診断を行うことで作成時に気付かなかった脆弱性や、新しく発見された脆弱性について対策をとることができます。脆弱性を放置することで情報漏洩や改ざん、知らぬ間に攻撃者になっていたなんてことも起こりえます。また脆弱性診断を自社のみで行うのは工数がかなりかかる他、専門知識を有する必要があります。また第三者(外部ベンダー)からの脆弱性診断を行うことで新たな発見を行うことができ、診断対象の信頼性も上がるため他社企業様の診断を行うことをお勧めします。スカイアーチではセキュリティ専門の企業様の脆弱性診断のご紹介をすることができるため、お気軽にご相談ください。