File Inclusion(ディレクトリ トラバーサル)

プログラムの中で他のファイルをインクルードしている場合、攻撃者が意図的にそのファイル名を修正して不正にファイルを処理させる攻撃。

安全なウェブサイトの作り方:IPA 独立行政法人 情報処理推進機構
P.13「1.3 パス名パラメータの未チェック/ディレクトリ・トラバーサル」参照

ウェブアプリケーションの中には、外部からのパラメータにウェブサーバ内のファイル名を直接指定しているものがあります。このようなウェブアプリケーションでは、ファイル名指定の実装に問題がある場合、攻撃者に任意のファイルを指定され、ウェブアプリケーションが意図しない処理を行ってしまう可能性があります。このような問題の一種を「ディレクトリ・トラバーサルの脆弱性」と呼び、この問題を悪用した攻撃手法の一つに、「ディレクトリ・トラバーサル攻撃」があります。

Metasploitable2 の DVWA にログインする

Security Level : low を確認

左欄から "File Inclusion" を選択

URL を観察し、URLに記述されているファイル(include.php)を表示しているのではないかとアタリをつける。

f:id:hirose-test:20190916050544j:plain

次に、URL を色々変更してみる。PHPのエラーメッセージが表示されてしまう。

f:id:hirose-test:20190916050734j:plain

ERROR! File Not Found となる場合、DVWAのセキュリティレベルを Low に変更できていないので変更すること。

f:id:hirose-test:20191104134626j:plain

さらにパスを上に遡ってみる

f:id:hirose-test:20190916051022j:plain

f:id:hirose-test:20190916051330j:plain

パスワードファイルが表示されてしまった。また、今回の場合は、相対パスではなく絶対パスでも表示される。

f:id:hirose-test:20190916051521j:plain

/* -----codeの行番号----- */