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

程序员征服安全:共享与学习系列-远程文件包含

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

阅读本博客系列的人可能会注意到远程文件包含漏洞与前面讨论的本地文件包含和路径遍历漏洞之间有很多相似之处。它们的根本原因是相似的,推荐的修复方法也是如此。

在许多方面,远程文件包含漏洞比本地文件漏洞危险得多,也更容易被利用。因此,应尽快找到并予以补救。或者更好的是,Web 应用程序的设计应该从一开始就防止其发生。

在本集中,我们将学习:

  • 黑客如何利用远程文件包含漏洞
  • 为什么允许远程包含文件很危险
  • 可以解决此问题的技术。

攻击者如何利用远程文件包含?

远程文件包含漏洞利用了大多数编程框架中存在的 “动态文件包含” 命令或机制。该功能旨在允许开发人员使用位于辅助服务器上的文件在应用程序服务器上执行活动。显然,如果落入坏人之手,这可能会很危险。

攻击者如何利用这种能力,是找到任何允许不受控制的用户输入的网站或应用程序,这些输入可能来自诸如HTTP标头或交互式表单中的输入区域之类的东西。他们以此为起点来生成文件包含命令。

例如,如果网站使用 GET 函数加载页面,例如 page = request.getParameter(“page');包含页面;则攻击者可以使用页面命令发送查询,但使用他们控制的网站网址和要执行的文件的文件路径。然后,查询被传递到服务器,并在主机上执行远程文件。允许该活动,因为它现在是可信应用程序的一部分。

为什么远程文件包含漏洞很危险?

远程文件包含所构成的危险程度非常高。与本地文件包含漏洞不同,在本地文件包含漏洞中,攻击者运行的文件必须存在于主机上,也可以由攻击者通过反复试验发现,远程文件包含没有类似的限制。显然,攻击者知道他们想要利用的文件的位置,因为它们可能存在于自己的计算机或他们控制的站点上。这些文件也可以由他们手动选择,在漏洞利用之前不需要存在于目标计算机上。该文件甚至可能包含专门为攻击远程主机而编写的脚本。

简而言之,一旦攻击者能够发现并利用远程文件包含漏洞,就没有什么可以阻止他们完全控制应用程序甚至整个站点。当然,存储在那里的任何数据都无法免受他们的入侵。

移除远程文件包含漏洞

切勿允许用户输入直接传递给文件包含命令以供执行。取而代之的是,使用命令的间接参考映射,只从那里执行命令。间接参考地图将不受信任的用户输入映射到服务器上的一组硬编码的可信值。一定要将用户可以输入数据的所有区域列入白名单,不要忘记在该列表中包含 HTTP 标头、表单参数甚至 cookie。这样做将关闭想要创建文件包含命令的攻击者可以使用的任何窗口。

作为奖励,对用户生成的内容进行适当的清理和验证以及使用参考地图来执行命令不仅可以消除远程文件包含漏洞,还可以消除许多其他漏洞,包括该错误的危险表兄弟,本地文件包含和路径遍历漏洞。

有关远程文件包含的更多信息

要进一步阅读,你可以看看 OWASP 参考指南 用于远程文件包含漏洞。你还可以使用以下方法来测试你新获得的防御知识 免费演示 Secure Code Warrior 平台,该平台培训网络安全团队成为终极网络战士。要了解有关克服此漏洞以及其他恶棍威胁的更多信息,请访问 安全代码勇士博客

リソースを確認する
リソースを確認する

在许多方面,远程文件包含漏洞比其本地文件漏洞危险得多,也更容易被利用。因此,应尽快找到并予以补救。

もっと知りたいですか?

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

もっと詳しく

Secure Code Warriorは、ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先とする文化を醸成するお手伝いをします。AppSecマネージャー、開発者、最高情報セキュリティ責任者(CISO)、あるいはセキュリティに関わるあらゆる方々の組織において、不安全なコードに関連するリスクの低減を支援します。

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

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

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

阅读本博客系列的人可能会注意到远程文件包含漏洞与前面讨论的本地文件包含和路径遍历漏洞之间有很多相似之处。它们的根本原因是相似的,推荐的修复方法也是如此。

在许多方面,远程文件包含漏洞比本地文件漏洞危险得多,也更容易被利用。因此,应尽快找到并予以补救。或者更好的是,Web 应用程序的设计应该从一开始就防止其发生。

在本集中,我们将学习:

  • 黑客如何利用远程文件包含漏洞
  • 为什么允许远程包含文件很危险
  • 可以解决此问题的技术。

攻击者如何利用远程文件包含?

远程文件包含漏洞利用了大多数编程框架中存在的 “动态文件包含” 命令或机制。该功能旨在允许开发人员使用位于辅助服务器上的文件在应用程序服务器上执行活动。显然,如果落入坏人之手,这可能会很危险。

攻击者如何利用这种能力,是找到任何允许不受控制的用户输入的网站或应用程序,这些输入可能来自诸如HTTP标头或交互式表单中的输入区域之类的东西。他们以此为起点来生成文件包含命令。

例如,如果网站使用 GET 函数加载页面,例如 page = request.getParameter(“page');包含页面;则攻击者可以使用页面命令发送查询,但使用他们控制的网站网址和要执行的文件的文件路径。然后,查询被传递到服务器,并在主机上执行远程文件。允许该活动,因为它现在是可信应用程序的一部分。

为什么远程文件包含漏洞很危险?

远程文件包含所构成的危险程度非常高。与本地文件包含漏洞不同,在本地文件包含漏洞中,攻击者运行的文件必须存在于主机上,也可以由攻击者通过反复试验发现,远程文件包含没有类似的限制。显然,攻击者知道他们想要利用的文件的位置,因为它们可能存在于自己的计算机或他们控制的站点上。这些文件也可以由他们手动选择,在漏洞利用之前不需要存在于目标计算机上。该文件甚至可能包含专门为攻击远程主机而编写的脚本。

简而言之,一旦攻击者能够发现并利用远程文件包含漏洞,就没有什么可以阻止他们完全控制应用程序甚至整个站点。当然,存储在那里的任何数据都无法免受他们的入侵。

移除远程文件包含漏洞

切勿允许用户输入直接传递给文件包含命令以供执行。取而代之的是,使用命令的间接参考映射,只从那里执行命令。间接参考地图将不受信任的用户输入映射到服务器上的一组硬编码的可信值。一定要将用户可以输入数据的所有区域列入白名单,不要忘记在该列表中包含 HTTP 标头、表单参数甚至 cookie。这样做将关闭想要创建文件包含命令的攻击者可以使用的任何窗口。

作为奖励,对用户生成的内容进行适当的清理和验证以及使用参考地图来执行命令不仅可以消除远程文件包含漏洞,还可以消除许多其他漏洞,包括该错误的危险表兄弟,本地文件包含和路径遍历漏洞。

有关远程文件包含的更多信息

要进一步阅读,你可以看看 OWASP 参考指南 用于远程文件包含漏洞。你还可以使用以下方法来测试你新获得的防御知识 免费演示 Secure Code Warrior 平台,该平台培训网络安全团队成为终极网络战士。要了解有关克服此漏洞以及其他恶棍威胁的更多信息,请访问 安全代码勇士博客

リソースを確認する
リソースを確認する

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

当社は、当社の製品および/または関連するセキュリティコードに関する情報を送信するため、お客様の許可を得たいと考えております。お客様の個人情報は常に慎重に取り扱い、マーケティング目的で他社に販売することは決してありません。

提出
SCW成功アイコン
SCWエラーアイコン
フォームを送信するには、「分析」Cookieを有効にしてください。完了後、いつでも再度無効にできます。

阅读本博客系列的人可能会注意到远程文件包含漏洞与前面讨论的本地文件包含和路径遍历漏洞之间有很多相似之处。它们的根本原因是相似的,推荐的修复方法也是如此。

在许多方面,远程文件包含漏洞比本地文件漏洞危险得多,也更容易被利用。因此,应尽快找到并予以补救。或者更好的是,Web 应用程序的设计应该从一开始就防止其发生。

在本集中,我们将学习:

  • 黑客如何利用远程文件包含漏洞
  • 为什么允许远程包含文件很危险
  • 可以解决此问题的技术。

攻击者如何利用远程文件包含?

远程文件包含漏洞利用了大多数编程框架中存在的 “动态文件包含” 命令或机制。该功能旨在允许开发人员使用位于辅助服务器上的文件在应用程序服务器上执行活动。显然,如果落入坏人之手,这可能会很危险。

攻击者如何利用这种能力,是找到任何允许不受控制的用户输入的网站或应用程序,这些输入可能来自诸如HTTP标头或交互式表单中的输入区域之类的东西。他们以此为起点来生成文件包含命令。

例如,如果网站使用 GET 函数加载页面,例如 page = request.getParameter(“page');包含页面;则攻击者可以使用页面命令发送查询,但使用他们控制的网站网址和要执行的文件的文件路径。然后,查询被传递到服务器,并在主机上执行远程文件。允许该活动,因为它现在是可信应用程序的一部分。

为什么远程文件包含漏洞很危险?

远程文件包含所构成的危险程度非常高。与本地文件包含漏洞不同,在本地文件包含漏洞中,攻击者运行的文件必须存在于主机上,也可以由攻击者通过反复试验发现,远程文件包含没有类似的限制。显然,攻击者知道他们想要利用的文件的位置,因为它们可能存在于自己的计算机或他们控制的站点上。这些文件也可以由他们手动选择,在漏洞利用之前不需要存在于目标计算机上。该文件甚至可能包含专门为攻击远程主机而编写的脚本。

简而言之,一旦攻击者能够发现并利用远程文件包含漏洞,就没有什么可以阻止他们完全控制应用程序甚至整个站点。当然,存储在那里的任何数据都无法免受他们的入侵。

移除远程文件包含漏洞

切勿允许用户输入直接传递给文件包含命令以供执行。取而代之的是,使用命令的间接参考映射,只从那里执行命令。间接参考地图将不受信任的用户输入映射到服务器上的一组硬编码的可信值。一定要将用户可以输入数据的所有区域列入白名单,不要忘记在该列表中包含 HTTP 标头、表单参数甚至 cookie。这样做将关闭想要创建文件包含命令的攻击者可以使用的任何窗口。

作为奖励,对用户生成的内容进行适当的清理和验证以及使用参考地图来执行命令不仅可以消除远程文件包含漏洞,还可以消除许多其他漏洞,包括该错误的危险表兄弟,本地文件包含和路径遍历漏洞。

有关远程文件包含的更多信息

要进一步阅读,你可以看看 OWASP 参考指南 用于远程文件包含漏洞。你还可以使用以下方法来测试你新获得的防御知识 免费演示 Secure Code Warrior 平台,该平台培训网络安全团队成为终极网络战士。要了解有关克服此漏洞以及其他恶棍威胁的更多信息,请访问 安全代码勇士博客

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

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

Secure Code Warriorは、ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先とする文化を醸成するお手伝いをします。AppSecマネージャー、開発者、最高情報セキュリティ責任者(CISO)、あるいはセキュリティに関わるあらゆる方々の組織において、不安全なコードに関連するリスクの低減を支援します。

レポートを確認するデモを予約する
PDFをダウンロード
リソースを確認する
共有する:
リンクトインのブランドソーシャルx ロゴ
もっと知りたいですか?

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

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

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

阅读本博客系列的人可能会注意到远程文件包含漏洞与前面讨论的本地文件包含和路径遍历漏洞之间有很多相似之处。它们的根本原因是相似的,推荐的修复方法也是如此。

在许多方面,远程文件包含漏洞比本地文件漏洞危险得多,也更容易被利用。因此,应尽快找到并予以补救。或者更好的是,Web 应用程序的设计应该从一开始就防止其发生。

在本集中,我们将学习:

  • 黑客如何利用远程文件包含漏洞
  • 为什么允许远程包含文件很危险
  • 可以解决此问题的技术。

攻击者如何利用远程文件包含?

远程文件包含漏洞利用了大多数编程框架中存在的 “动态文件包含” 命令或机制。该功能旨在允许开发人员使用位于辅助服务器上的文件在应用程序服务器上执行活动。显然,如果落入坏人之手,这可能会很危险。

攻击者如何利用这种能力,是找到任何允许不受控制的用户输入的网站或应用程序,这些输入可能来自诸如HTTP标头或交互式表单中的输入区域之类的东西。他们以此为起点来生成文件包含命令。

例如,如果网站使用 GET 函数加载页面,例如 page = request.getParameter(“page');包含页面;则攻击者可以使用页面命令发送查询,但使用他们控制的网站网址和要执行的文件的文件路径。然后,查询被传递到服务器,并在主机上执行远程文件。允许该活动,因为它现在是可信应用程序的一部分。

为什么远程文件包含漏洞很危险?

远程文件包含所构成的危险程度非常高。与本地文件包含漏洞不同,在本地文件包含漏洞中,攻击者运行的文件必须存在于主机上,也可以由攻击者通过反复试验发现,远程文件包含没有类似的限制。显然,攻击者知道他们想要利用的文件的位置,因为它们可能存在于自己的计算机或他们控制的站点上。这些文件也可以由他们手动选择,在漏洞利用之前不需要存在于目标计算机上。该文件甚至可能包含专门为攻击远程主机而编写的脚本。

简而言之,一旦攻击者能够发现并利用远程文件包含漏洞,就没有什么可以阻止他们完全控制应用程序甚至整个站点。当然,存储在那里的任何数据都无法免受他们的入侵。

移除远程文件包含漏洞

切勿允许用户输入直接传递给文件包含命令以供执行。取而代之的是,使用命令的间接参考映射,只从那里执行命令。间接参考地图将不受信任的用户输入映射到服务器上的一组硬编码的可信值。一定要将用户可以输入数据的所有区域列入白名单,不要忘记在该列表中包含 HTTP 标头、表单参数甚至 cookie。这样做将关闭想要创建文件包含命令的攻击者可以使用的任何窗口。

作为奖励,对用户生成的内容进行适当的清理和验证以及使用参考地图来执行命令不仅可以消除远程文件包含漏洞,还可以消除许多其他漏洞,包括该错误的危险表兄弟,本地文件包含和路径遍历漏洞。

有关远程文件包含的更多信息

要进一步阅读,你可以看看 OWASP 参考指南 用于远程文件包含漏洞。你还可以使用以下方法来测试你新获得的防御知识 免费演示 Secure Code Warrior 平台,该平台培训网络安全团队成为终极网络战士。要了解有关克服此漏洞以及其他恶棍威胁的更多信息,请访问 安全代码勇士博客

目次

PDFをダウンロード
リソースを確認する
もっと知りたいですか?

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

もっと詳しく

Secure Code Warriorは、ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先とする文化を醸成するお手伝いをします。AppSecマネージャー、開発者、最高情報セキュリティ責任者(CISO)、あるいはセキュリティに関わるあらゆる方々の組織において、不安全なコードに関連するリスクの低減を支援します。

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

入門に役立つリソース

さらに多くの投稿
リソースセンター

入門に役立つリソース

さらに多くの投稿