DVWAのFile Inclusionの脆弱性の演習

※本サイトはアフィリエイト広告を利用しています。
広告

本記事の概要

意図的に脆弱性が存在するWebサーバであるDVWAのFile Inclusionカテゴリの脆弱性の演習の流れを記載します。
ユーザから入力したデータに応じたファイルをインクルードする処理を使用する場合、適切なセキュリティ対策をしないと任意のファイルが読み込まれる脆弱性が含まれる可能性があります。
DVWAでは3段階(Low、Medium、High)のレベルに分かれて問題が出題されており、LowとMediumの演習の手順を記載します。

DVWAの概要や導入方法は「DVWA(Damn Vulnerable Web Application)を構築してみた」をご確認ください。

※本記事に記載している攻撃を自身が管理しているサーバ以外に攻撃した場合は、犯罪になりますので注意してください。
※本記事に記載している内容を行った場合でも私は責任を取れませんので、実施する際は注意してください。


DVWAのレベルの設定変更手順

DVWAで設定できる問題の難易度の3段階(Low、Medium、High)の設定方法のやり方を記載します。

(1) 「DVWA Security」をクリックして、「Security Level is currently 〇〇〇」に記載されている現在のレベルを確認します。その後、レベルを選択して、「Submit」をクリックします。
DVWAのレベルの設定変更(1)

(2) 「Security Level is currently 〇〇〇」の表記が変わったことを確認します。
DVWAのレベルの設定変更(2)

DVWAのFile Inclusion攻撃のやり方(レベル:Low)

(1) DVWAのFile Inclusionの演習のソースコードは以下の通りです。

 <?php

    $file = $_GET['page']; //The page we wish to display 

?> 


(2) 今回は例として、以下のようにURLを変更して、Googleのサイトを参照するように変更します。
   ・変更前 : http://[DVWAのFQDN]/vulnerabilities/fi/?page=include.php
   ・変更後 : http://[DVWAのFQDN]/vulnerabilities/fi/?page=https://www.google.com/

  ※今回はGoogleのサイトを参照していますが、実際の攻撃では攻撃者のサイトを読み込んで閲覧者にウイルスをダウンロードさせたりします。

DVWAのFile Inclusion脆弱性(1)

(3) 以下のようにGoogleのサイトが表示されていることを確認します。
DVWAのFile Inclusion脆弱性(2)

DVWAのFile Inclusion攻撃のやり方(レベル:Medium)

(1) DVWAのFile Inclusionの演習のソースコードは以下の通りです。

 <?php

    $file = $_GET['page']; // The page we wish to display 

    // Bad input validation
    $file = str_replace("http://", "", $file);
    $file = str_replace("https://", "", $file);        


?> 


(2) 演習のレベルLowと比較すると、以下の内容が追記されています。「http://」や「https://」は削除されるため、他のサイトを参照できません。

// Bad input validation
$file = str_replace("http://", "", $file);
$file = str_replace("https://", "", $file);  


(3) 今回は例として、以下のようにURLを変更して、/etc/passwdを参照するように変更します。
   ・変更前 : http://[DVWAのFQDN]/vulnerabilities/fi/?page=include.php
   ・変更後 : http://[DVWAのFQDN]/vulnerabilities/fi/?page=/etc/passwd
DVWAのFile Inclusion脆弱性(3)

(4) 以下のように/etc/passwdが表示されているため、OSに登録されているユーザ一覧が分かります。
DVWAのFile Inclusion脆弱性(4)

DVWAに関する記事

DVWAについての関連記事は以下の通りです。
必要に応じて、ご確認ください。

Noタイトル記事の概要
1DVWA(Damn Vulnerable Web Application)
を構築してみた
DVWAのバージョン1.0.7の構築手順を記載します。
2DVWAのBrute Forceの脆弱性の演習DVWAの環境を用いてBrute Force攻撃の
演習の例を記載します。
3DVWAのCommand Executionの脆弱性の演習DVWAの環境を用いてCommand Execution攻撃の
演習の例を記載します。
4DVWAのCross Site Request Forgery (CSRF)の
脆弱性の演習
DVWAの環境を用いてCSRF攻撃の
演習の例を記載します。
5DVWAのFile Inclusionの脆弱性の演習DVWAの環境を用いてFile Inclusionの脆弱性を
悪用した攻撃の演習の例を記載します。
6DVWAのSQL Injectionの脆弱性の演習DVWAの環境を用いてSQL Injection攻撃の
演習の例を記載します。
7DVWAのFile Uploadの脆弱性の演習DVWAの環境を用いてFile Uploadの脆弱性を
悪用した攻撃の演習の例を記載します。
8DVWAのXSS reflectedの脆弱性の演習DVWAの環境を用いてXSS reflected攻撃の
演習の例を記載します。
9DVWAのXSS storedの脆弱性の演習DVWAの環境を用いてXSS stored攻撃の
演習の例を記載します。