SCW アイコン
ヒーロー背景(区切りなし)
ブログ

Les codeurs conquièrent la sécurité : série Share & Learn - Inclusion de fichiers à distance

Jaap Karan Singh
2019年7月18日 掲載
最終更新日: 2026年3月8日

このブログシリーズをご覧になっている方は、今回のリモートファイル取り込みの脆弱性と、前回ご紹介したローカルファイル取り込みおよびパストラバーサルの脆弱性の間に、多くの類似点があることにお気づきになるかもしれません。これらの脆弱性の根本的な原因は、推奨される修正方法と同様に類似しています。

多くの点で、リモート・ファイル・インクルージョンの脆弱性は、ローカル・ファイル・インクルージョンの脆弱性よりもはるかに危険であり、また悪用されやすいものです。そのため、できるだけ早く発見し、対策を講じる必要があります。あるいは、より良い方法として、ウェブアプリケーションは、そもそもこの脆弱性が発生しないように設計されるべきです。

このエピソードでは、以下のことを学びます。

  • リモートファイルインクルージョンの脆弱性を利用したハッカーの手口
  • リモートファイルインクルードの許可が危険な理由
  • この問題を解決するためのテクニック。

攻撃者はどのようにしてリモートファイルインクルージョンを利用するのか?

リモートファイルインクルードの脆弱性は、ほとんどのプログラミングフレームワークに存在する「ダイナミックファイルインクルード」コマンドまたはメカニズムを利用しています。この機能は、開発者がセカンダリ・サーバ上にあるファイルを使用して、アプリケーション・サーバ上でアクティビティを実行できるようにすることを目的としています。明らかに、これは悪用されると危険です。

攻撃者がこの機能を利用するには、HTTPヘッダーや対話型フォームの入力エリアなど、ユーザーの無制限な入力を許可しているウェブサイトやアプリケーションを見つけることが必要です。これは、HTTPヘッダーや対話型フォームの入力エリアなどで、ファイルインクルードコマンドを生成するための出発点として使用されます。

例えば、サイトがページの読み込みに GET 関数を使用している場合、page = request.getParameter("page"); include page; のように、攻撃者は page コマンドを使用して、自分がコントロールするサイトの URL と実行したいファイルのファイルパスを指定して、クエリを送信することができます。このクエリがサーバーに渡され、リモートファイルがホスト上で実行されます。この活動は、信頼されたアプリの一部であるため、許可されます。

リモートファイルインクルージョンはなぜ危険なのか?

リモートファイルインクルードの危険度は極めて高い。ローカルファイルインクルードの脆弱性では、攻撃者が実行するファイルがホスト上に存在し、かつ攻撃者が試行錯誤して見つけなければなりませんが、リモートファイルインクルードではそのような制限はありません。明らかに、攻撃者は悪用したいファイルの場所を知っています。なぜなら、それらは自分のマシンや自分が管理するサイトに存在する可能性が高いからです。また、ファイルは攻撃者が手動で選択することができ、悪用する前にターゲットマシン上に存在する必要はありません。このファイルは、リモートホストを悪用するために特別に書かれたスクリプトで構成されていることもあります。

要するに、ひとたび攻撃者がリモート・ファイル・インクルージョンの脆弱性を発見し、それを利用することができれば、アプリケーションやサイト全体を完全にコントロールすることが可能になります。確かに、そこに保存されているデータは、彼らの侵入から安全ではありません。

リモートファイルインクルージョンの脆弱性の除去

ユーザーの入力をファイル取り込みコマンドに直接渡して実行させてはいけません。代わりに、コマンドの間接参照マップを使用し、そこからのみコマンドを実行します。間接参照マップは、信頼できないユーザーの入力を、サーバー上でハードコードされた信頼できる値のセットにマッピングします。ユーザーがデータを入力できる場所は必ずホワイトリストに登録し、HTTPヘッダー、フォームパラメーター、さらにはクッキーもリストに含めることを忘れないでください。そうすることで、ファイルインクルードコマンドを作成しようとする攻撃者が利用できるウィンドウを閉じることができます。

さらに、ユーザーが作成したコンテンツを適切にサニタイズおよび検証し、参照マップを使用してコマンドを実行することで、リモートファイルインクルードの脆弱性だけでなく、このバグの危険な従兄弟であるローカルファイルインクルードおよびパストラバーサルのエクスプロイトを含む、その他の多くの脆弱性を潰すことができます。

リモートファイルインクルージョンの詳細情報

さらに詳しく知りたい方は、OWASPreference guidefor remote file inclusion exploitsをご覧ください。また、サイバーセキュリティチームを究極のサイバー戦士に育成するSecure Code Warrior プラットフォームの無料デモで、新たに得た防御の知識を試すこともできます。この脆弱性やその他の脅威への対策について詳しくは、Secure Code Warrior ブログをご覧ください。

リソースを表示する
リソースを表示する

À bien des égards, la vulnérabilité d'inclusion de fichiers distants est beaucoup plus dangereuse et plus facile à exploiter que son équivalent local. En tant que tel, il convient de le trouver et d'y remédier dès que possible.

さらに詳しく知りたいですか?

Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.

もっと詳しく

Secure Code Warrior ソフトウェア開発ライフサイクル全体を通じてコードのセキュリティを確保し、サイバーセキュリティを最優先事項とする文化を構築するために、組織をSecure Code Warrior 。アプリケーションセキュリティ担当者、開発者、情報セキュリティ責任者、その他セキュリティに関わるあらゆる方々のために、当社は組織が非セキュアなコードに関連するリスクを軽減するお手伝いをいたします。

デモを予約する
共有する:
リンクトインのブランドソーシャルx ロゴ
作者
Jaap Karan Singh
2019年7月18日発行

Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.

共有する:
リンクトインのブランドソーシャルx ロゴ

このブログシリーズをご覧になっている方は、今回のリモートファイル取り込みの脆弱性と、前回ご紹介したローカルファイル取り込みおよびパストラバーサルの脆弱性の間に、多くの類似点があることにお気づきになるかもしれません。これらの脆弱性の根本的な原因は、推奨される修正方法と同様に類似しています。

多くの点で、リモート・ファイル・インクルージョンの脆弱性は、ローカル・ファイル・インクルージョンの脆弱性よりもはるかに危険であり、また悪用されやすいものです。そのため、できるだけ早く発見し、対策を講じる必要があります。あるいは、より良い方法として、ウェブアプリケーションは、そもそもこの脆弱性が発生しないように設計されるべきです。

このエピソードでは、以下のことを学びます。

  • リモートファイルインクルージョンの脆弱性を利用したハッカーの手口
  • リモートファイルインクルードの許可が危険な理由
  • この問題を解決するためのテクニック。

攻撃者はどのようにしてリモートファイルインクルージョンを利用するのか?

リモートファイルインクルードの脆弱性は、ほとんどのプログラミングフレームワークに存在する「ダイナミックファイルインクルード」コマンドまたはメカニズムを利用しています。この機能は、開発者がセカンダリ・サーバ上にあるファイルを使用して、アプリケーション・サーバ上でアクティビティを実行できるようにすることを目的としています。明らかに、これは悪用されると危険です。

攻撃者がこの機能を利用するには、HTTPヘッダーや対話型フォームの入力エリアなど、ユーザーの無制限な入力を許可しているウェブサイトやアプリケーションを見つけることが必要です。これは、HTTPヘッダーや対話型フォームの入力エリアなどで、ファイルインクルードコマンドを生成するための出発点として使用されます。

例えば、サイトがページの読み込みに GET 関数を使用している場合、page = request.getParameter("page"); include page; のように、攻撃者は page コマンドを使用して、自分がコントロールするサイトの URL と実行したいファイルのファイルパスを指定して、クエリを送信することができます。このクエリがサーバーに渡され、リモートファイルがホスト上で実行されます。この活動は、信頼されたアプリの一部であるため、許可されます。

リモートファイルインクルージョンはなぜ危険なのか?

リモートファイルインクルードの危険度は極めて高い。ローカルファイルインクルードの脆弱性では、攻撃者が実行するファイルがホスト上に存在し、かつ攻撃者が試行錯誤して見つけなければなりませんが、リモートファイルインクルードではそのような制限はありません。明らかに、攻撃者は悪用したいファイルの場所を知っています。なぜなら、それらは自分のマシンや自分が管理するサイトに存在する可能性が高いからです。また、ファイルは攻撃者が手動で選択することができ、悪用する前にターゲットマシン上に存在する必要はありません。このファイルは、リモートホストを悪用するために特別に書かれたスクリプトで構成されていることもあります。

要するに、ひとたび攻撃者がリモート・ファイル・インクルージョンの脆弱性を発見し、それを利用することができれば、アプリケーションやサイト全体を完全にコントロールすることが可能になります。確かに、そこに保存されているデータは、彼らの侵入から安全ではありません。

リモートファイルインクルージョンの脆弱性の除去

ユーザーの入力をファイル取り込みコマンドに直接渡して実行させてはいけません。代わりに、コマンドの間接参照マップを使用し、そこからのみコマンドを実行します。間接参照マップは、信頼できないユーザーの入力を、サーバー上でハードコードされた信頼できる値のセットにマッピングします。ユーザーがデータを入力できる場所は必ずホワイトリストに登録し、HTTPヘッダー、フォームパラメーター、さらにはクッキーもリストに含めることを忘れないでください。そうすることで、ファイルインクルードコマンドを作成しようとする攻撃者が利用できるウィンドウを閉じることができます。

さらに、ユーザーが作成したコンテンツを適切にサニタイズおよび検証し、参照マップを使用してコマンドを実行することで、リモートファイルインクルードの脆弱性だけでなく、このバグの危険な従兄弟であるローカルファイルインクルードおよびパストラバーサルのエクスプロイトを含む、その他の多くの脆弱性を潰すことができます。

リモートファイルインクルージョンの詳細情報

さらに詳しく知りたい方は、OWASPreference guidefor remote file inclusion exploitsをご覧ください。また、サイバーセキュリティチームを究極のサイバー戦士に育成するSecure Code Warrior プラットフォームの無料デモで、新たに得た防御の知識を試すこともできます。この脆弱性やその他の脅威への対策について詳しくは、Secure Code Warrior ブログをご覧ください。

リソースを表示する
リソースを表示する

以下のフォームに記入してレポートをダウンロードしてください

当社製品および/またはセキュアコーディング関連の情報をお送りするにあたり、ご承諾を頂戴できれば幸いです。お客様の個人情報は常に細心の注意をもって取り扱い、マーケティング目的で他社に販売することは一切ございません。

提出する
SCW成功アイコン
SCWエラーアイコン
フォームを送信するには、Analyticsクッキーを有効にしてください。完了後は再度無効化しても構いません。

このブログシリーズをご覧になっている方は、今回のリモートファイル取り込みの脆弱性と、前回ご紹介したローカルファイル取り込みおよびパストラバーサルの脆弱性の間に、多くの類似点があることにお気づきになるかもしれません。これらの脆弱性の根本的な原因は、推奨される修正方法と同様に類似しています。

多くの点で、リモート・ファイル・インクルージョンの脆弱性は、ローカル・ファイル・インクルージョンの脆弱性よりもはるかに危険であり、また悪用されやすいものです。そのため、できるだけ早く発見し、対策を講じる必要があります。あるいは、より良い方法として、ウェブアプリケーションは、そもそもこの脆弱性が発生しないように設計されるべきです。

このエピソードでは、以下のことを学びます。

  • リモートファイルインクルージョンの脆弱性を利用したハッカーの手口
  • リモートファイルインクルードの許可が危険な理由
  • この問題を解決するためのテクニック。

攻撃者はどのようにしてリモートファイルインクルージョンを利用するのか?

リモートファイルインクルードの脆弱性は、ほとんどのプログラミングフレームワークに存在する「ダイナミックファイルインクルード」コマンドまたはメカニズムを利用しています。この機能は、開発者がセカンダリ・サーバ上にあるファイルを使用して、アプリケーション・サーバ上でアクティビティを実行できるようにすることを目的としています。明らかに、これは悪用されると危険です。

攻撃者がこの機能を利用するには、HTTPヘッダーや対話型フォームの入力エリアなど、ユーザーの無制限な入力を許可しているウェブサイトやアプリケーションを見つけることが必要です。これは、HTTPヘッダーや対話型フォームの入力エリアなどで、ファイルインクルードコマンドを生成するための出発点として使用されます。

例えば、サイトがページの読み込みに GET 関数を使用している場合、page = request.getParameter("page"); include page; のように、攻撃者は page コマンドを使用して、自分がコントロールするサイトの URL と実行したいファイルのファイルパスを指定して、クエリを送信することができます。このクエリがサーバーに渡され、リモートファイルがホスト上で実行されます。この活動は、信頼されたアプリの一部であるため、許可されます。

リモートファイルインクルージョンはなぜ危険なのか?

リモートファイルインクルードの危険度は極めて高い。ローカルファイルインクルードの脆弱性では、攻撃者が実行するファイルがホスト上に存在し、かつ攻撃者が試行錯誤して見つけなければなりませんが、リモートファイルインクルードではそのような制限はありません。明らかに、攻撃者は悪用したいファイルの場所を知っています。なぜなら、それらは自分のマシンや自分が管理するサイトに存在する可能性が高いからです。また、ファイルは攻撃者が手動で選択することができ、悪用する前にターゲットマシン上に存在する必要はありません。このファイルは、リモートホストを悪用するために特別に書かれたスクリプトで構成されていることもあります。

要するに、ひとたび攻撃者がリモート・ファイル・インクルージョンの脆弱性を発見し、それを利用することができれば、アプリケーションやサイト全体を完全にコントロールすることが可能になります。確かに、そこに保存されているデータは、彼らの侵入から安全ではありません。

リモートファイルインクルージョンの脆弱性の除去

ユーザーの入力をファイル取り込みコマンドに直接渡して実行させてはいけません。代わりに、コマンドの間接参照マップを使用し、そこからのみコマンドを実行します。間接参照マップは、信頼できないユーザーの入力を、サーバー上でハードコードされた信頼できる値のセットにマッピングします。ユーザーがデータを入力できる場所は必ずホワイトリストに登録し、HTTPヘッダー、フォームパラメーター、さらにはクッキーもリストに含めることを忘れないでください。そうすることで、ファイルインクルードコマンドを作成しようとする攻撃者が利用できるウィンドウを閉じることができます。

さらに、ユーザーが作成したコンテンツを適切にサニタイズおよび検証し、参照マップを使用してコマンドを実行することで、リモートファイルインクルードの脆弱性だけでなく、このバグの危険な従兄弟であるローカルファイルインクルードおよびパストラバーサルのエクスプロイトを含む、その他の多くの脆弱性を潰すことができます。

リモートファイルインクルージョンの詳細情報

さらに詳しく知りたい方は、OWASPreference guidefor remote file inclusion exploitsをご覧ください。また、サイバーセキュリティチームを究極のサイバー戦士に育成するSecure Code Warrior プラットフォームの無料デモで、新たに得た防御の知識を試すこともできます。この脆弱性やその他の脅威への対策について詳しくは、Secure Code Warrior ブログをご覧ください。

ウェビナーを表示する
始めましょう
もっと詳しく

以下のリンクをクリックして、このリソースのPDFをダウンロードしてください。

Secure Code Warrior ソフトウェア開発ライフサイクル全体を通じてコードのセキュリティを確保し、サイバーセキュリティを最優先事項とする文化を構築するために、組織をSecure Code Warrior 。アプリケーションセキュリティ担当者、開発者、情報セキュリティ責任者、その他セキュリティに関わるあらゆる方々のために、当社は組織が非セキュアなコードに関連するリスクを軽減するお手伝いをいたします。

レポートを表示するデモを予約する
PDFをダウンロード
リソースを表示する
共有する:
リンクトインのブランドソーシャルx ロゴ
さらに詳しく知りたいですか?

共有する:
リンクトインのブランドソーシャルx ロゴ
作者
Jaap Karan Singh
2019年7月18日発行

Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.

共有する:
リンクトインのブランドソーシャルx ロゴ

このブログシリーズをご覧になっている方は、今回のリモートファイル取り込みの脆弱性と、前回ご紹介したローカルファイル取り込みおよびパストラバーサルの脆弱性の間に、多くの類似点があることにお気づきになるかもしれません。これらの脆弱性の根本的な原因は、推奨される修正方法と同様に類似しています。

多くの点で、リモート・ファイル・インクルージョンの脆弱性は、ローカル・ファイル・インクルージョンの脆弱性よりもはるかに危険であり、また悪用されやすいものです。そのため、できるだけ早く発見し、対策を講じる必要があります。あるいは、より良い方法として、ウェブアプリケーションは、そもそもこの脆弱性が発生しないように設計されるべきです。

このエピソードでは、以下のことを学びます。

  • リモートファイルインクルージョンの脆弱性を利用したハッカーの手口
  • リモートファイルインクルードの許可が危険な理由
  • この問題を解決するためのテクニック。

攻撃者はどのようにしてリモートファイルインクルージョンを利用するのか?

リモートファイルインクルードの脆弱性は、ほとんどのプログラミングフレームワークに存在する「ダイナミックファイルインクルード」コマンドまたはメカニズムを利用しています。この機能は、開発者がセカンダリ・サーバ上にあるファイルを使用して、アプリケーション・サーバ上でアクティビティを実行できるようにすることを目的としています。明らかに、これは悪用されると危険です。

攻撃者がこの機能を利用するには、HTTPヘッダーや対話型フォームの入力エリアなど、ユーザーの無制限な入力を許可しているウェブサイトやアプリケーションを見つけることが必要です。これは、HTTPヘッダーや対話型フォームの入力エリアなどで、ファイルインクルードコマンドを生成するための出発点として使用されます。

例えば、サイトがページの読み込みに GET 関数を使用している場合、page = request.getParameter("page"); include page; のように、攻撃者は page コマンドを使用して、自分がコントロールするサイトの URL と実行したいファイルのファイルパスを指定して、クエリを送信することができます。このクエリがサーバーに渡され、リモートファイルがホスト上で実行されます。この活動は、信頼されたアプリの一部であるため、許可されます。

リモートファイルインクルージョンはなぜ危険なのか?

リモートファイルインクルードの危険度は極めて高い。ローカルファイルインクルードの脆弱性では、攻撃者が実行するファイルがホスト上に存在し、かつ攻撃者が試行錯誤して見つけなければなりませんが、リモートファイルインクルードではそのような制限はありません。明らかに、攻撃者は悪用したいファイルの場所を知っています。なぜなら、それらは自分のマシンや自分が管理するサイトに存在する可能性が高いからです。また、ファイルは攻撃者が手動で選択することができ、悪用する前にターゲットマシン上に存在する必要はありません。このファイルは、リモートホストを悪用するために特別に書かれたスクリプトで構成されていることもあります。

要するに、ひとたび攻撃者がリモート・ファイル・インクルージョンの脆弱性を発見し、それを利用することができれば、アプリケーションやサイト全体を完全にコントロールすることが可能になります。確かに、そこに保存されているデータは、彼らの侵入から安全ではありません。

リモートファイルインクルージョンの脆弱性の除去

ユーザーの入力をファイル取り込みコマンドに直接渡して実行させてはいけません。代わりに、コマンドの間接参照マップを使用し、そこからのみコマンドを実行します。間接参照マップは、信頼できないユーザーの入力を、サーバー上でハードコードされた信頼できる値のセットにマッピングします。ユーザーがデータを入力できる場所は必ずホワイトリストに登録し、HTTPヘッダー、フォームパラメーター、さらにはクッキーもリストに含めることを忘れないでください。そうすることで、ファイルインクルードコマンドを作成しようとする攻撃者が利用できるウィンドウを閉じることができます。

さらに、ユーザーが作成したコンテンツを適切にサニタイズおよび検証し、参照マップを使用してコマンドを実行することで、リモートファイルインクルードの脆弱性だけでなく、このバグの危険な従兄弟であるローカルファイルインクルードおよびパストラバーサルのエクスプロイトを含む、その他の多くの脆弱性を潰すことができます。

リモートファイルインクルージョンの詳細情報

さらに詳しく知りたい方は、OWASPreference guidefor remote file inclusion exploitsをご覧ください。また、サイバーセキュリティチームを究極のサイバー戦士に育成するSecure Code Warrior プラットフォームの無料デモで、新たに得た防御の知識を試すこともできます。この脆弱性やその他の脅威への対策について詳しくは、Secure Code Warrior ブログをご覧ください。

目次

PDFをダウンロード
リソースを表示する
さらに詳しく知りたいですか?

Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.

もっと詳しく

Secure Code Warrior ソフトウェア開発ライフサイクル全体を通じてコードのセキュリティを確保し、サイバーセキュリティを最優先事項とする文化を構築するために、組織をSecure Code Warrior 。アプリケーションセキュリティ担当者、開発者、情報セキュリティ責任者、その他セキュリティに関わるあらゆる方々のために、当社は組織が非セキュアなコードに関連するリスクを軽減するお手伝いをいたします。

デモを予約するダウンロード
共有する:
リンクトインのブランドソーシャルx ロゴ
リソースセンター

はじめの一歩を踏み出すためのリソース

投稿はありません
リソースセンター

はじめの一歩を踏み出すためのリソース

投稿はありません