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

코더즈 컨커 보안: 공유 및 학습 시리즈 - 원격 파일 포함

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

リソースを見る
リソースを見る

여러 면에서 원격 파일 포함 취약점은 로컬 파일에 대응하는 취약점보다 훨씬 위험하고 악용하기도 쉽습니다.따라서 가능한 한 빨리 발견하여 해결해야 합니다.

もっと興味がありますか?

Jaap Karan Singhは、Secure Coding Evangelistであり、Chief Singhであり、Secure Code Warrior の共同設立者です。

もっと詳しく

セキュアコードウォリアーは、ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先とする文化を組織に根付かせるために存在します。AppSec管理者、開発者、CISO、あるいはセキュリティに関わるあらゆる立場の方々に対し、組織が安全でないコードに関連するリスクを軽減できるよう支援します。

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

Jaap Karan Singhは、Secure Coding Evangelistであり、Chief Singhであり、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をダウンロードしてください。

セキュアコードウォリアーは、ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先とする文化を組織に根付かせるために存在します。AppSec管理者、開発者、CISO、あるいはセキュリティに関わるあらゆる立場の方々に対し、組織が安全でないコードに関連するリスクを軽減できるよう支援します。

レポートを見るデモ予約
リソースを見る
共有対象:
リンクトインのブランドソーシャルx ロゴ
もっと興味がありますか?

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

Jaap Karan Singhは、Secure Coding Evangelistであり、Chief Singhであり、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は、Secure Coding Evangelistであり、Chief Singhであり、Secure Code Warrior の共同設立者です。

もっと詳しく

セキュアコードウォリアーは、ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先とする文化を組織に根付かせるために存在します。AppSec管理者、開発者、CISO、あるいはセキュリティに関わるあらゆる立場の方々に対し、組織が安全でないコードに関連するリスクを軽減できるよう支援します。

デモ予約ダウンロード
共有対象:
リンクトインのブランドソーシャルx ロゴ
リソースハブ

始めるのに役立つリソース

もっと多くの投稿
リソースハブ

始めるのに役立つリソース

もっと多くの投稿