
程序员征服安全:共享与学习系列-远程文件包含
阅读本博客系列的人可能会注意到远程文件包含漏洞与前面讨论的本地文件包含和路径遍历漏洞之间有很多相似之处。它们的根本原因是相似的,推荐的修复方法也是如此。
在许多方面,远程文件包含漏洞比本地文件漏洞危险得多,也更容易被利用。因此,应尽快找到并予以补救。或者更好的是,Web 应用程序的设计应该从一开始就防止其发生。
在本集中,我们将学习:
- 黑客如何利用远程文件包含漏洞
- 为什么允许远程包含文件很危险
- 可以解决此问题的技术。
攻击者如何利用远程文件包含?
远程文件包含漏洞利用了大多数编程框架中存在的 “动态文件包含” 命令或机制。该功能旨在允许开发人员使用位于辅助服务器上的文件在应用程序服务器上执行活动。显然,如果落入坏人之手,这可能会很危险。
攻击者如何利用这种能力,是找到任何允许不受控制的用户输入的网站或应用程序,这些输入可能来自诸如HTTP标头或交互式表单中的输入区域之类的东西。他们以此为起点来生成文件包含命令。
例如,如果网站使用 GET 函数加载页面,例如 page = request.getParameter(“page');包含页面;则攻击者可以使用页面命令发送查询,但使用他们控制的网站网址和要执行的文件的文件路径。然后,查询被传递到服务器,并在主机上执行远程文件。允许该活动,因为它现在是可信应用程序的一部分。
为什么远程文件包含漏洞很危险?
远程文件包含所构成的危险程度非常高。与本地文件包含漏洞不同,在本地文件包含漏洞中,攻击者运行的文件必须存在于主机上,也可以由攻击者通过反复试验发现,远程文件包含没有类似的限制。显然,攻击者知道他们想要利用的文件的位置,因为它们可能存在于自己的计算机或他们控制的站点上。这些文件也可以由他们手动选择,在漏洞利用之前不需要存在于目标计算机上。该文件甚至可能包含专门为攻击远程主机而编写的脚本。
简而言之,一旦攻击者能够发现并利用远程文件包含漏洞,就没有什么可以阻止他们完全控制应用程序甚至整个站点。当然,存储在那里的任何数据都无法免受他们的入侵。
移除远程文件包含漏洞
切勿允许用户输入直接传递给文件包含命令以供执行。取而代之的是,使用命令的间接参考映射,只从那里执行命令。间接参考地图将不受信任的用户输入映射到服务器上的一组硬编码的可信值。一定要将用户可以输入数据的所有区域列入白名单,不要忘记在该列表中包含 HTTP 标头、表单参数甚至 cookie。这样做将关闭想要创建文件包含命令的攻击者可以使用的任何窗口。
作为奖励,对用户生成的内容进行适当的清理和验证以及使用参考地图来执行命令不仅可以消除远程文件包含漏洞,还可以消除许多其他漏洞,包括该错误的危险表兄弟,本地文件包含和路径遍历漏洞。
有关远程文件包含的更多信息
要进一步阅读,你可以看看 OWASP 参考指南 用于远程文件包含漏洞。你还可以使用以下方法来测试你新获得的防御知识 免费演示 Secure Code Warrior 平台,该平台培训网络安全团队成为终极网络战士。要了解有关克服此漏洞以及其他恶棍威胁的更多信息,请访问 安全代码勇士博客。
Jaap Karan Singh是一位安全编码布道者,首席辛格和Secure Code Warrior 的共同创始人。

Secure Code Warrior可帮助您的组织在整个软件开发生命周期中保护代码,并营造一种将网络安全置于首位的文化。无论您是应用安全经理、开发人员、首席信息安全官还是任何与安全相关的人员,我们都能帮助您的组织降低与不安全代码相关的风险。
预约演示Jaap Karan Singh是一位安全编码布道者,首席辛格和Secure Code Warrior 的共同创始人。


阅读本博客系列的人可能会注意到远程文件包含漏洞与前面讨论的本地文件包含和路径遍历漏洞之间有很多相似之处。它们的根本原因是相似的,推荐的修复方法也是如此。
在许多方面,远程文件包含漏洞比本地文件漏洞危险得多,也更容易被利用。因此,应尽快找到并予以补救。或者更好的是,Web 应用程序的设计应该从一开始就防止其发生。
在本集中,我们将学习:
- 黑客如何利用远程文件包含漏洞
- 为什么允许远程包含文件很危险
- 可以解决此问题的技术。
攻击者如何利用远程文件包含?
远程文件包含漏洞利用了大多数编程框架中存在的 “动态文件包含” 命令或机制。该功能旨在允许开发人员使用位于辅助服务器上的文件在应用程序服务器上执行活动。显然,如果落入坏人之手,这可能会很危险。
攻击者如何利用这种能力,是找到任何允许不受控制的用户输入的网站或应用程序,这些输入可能来自诸如HTTP标头或交互式表单中的输入区域之类的东西。他们以此为起点来生成文件包含命令。
例如,如果网站使用 GET 函数加载页面,例如 page = request.getParameter(“page');包含页面;则攻击者可以使用页面命令发送查询,但使用他们控制的网站网址和要执行的文件的文件路径。然后,查询被传递到服务器,并在主机上执行远程文件。允许该活动,因为它现在是可信应用程序的一部分。
为什么远程文件包含漏洞很危险?
远程文件包含所构成的危险程度非常高。与本地文件包含漏洞不同,在本地文件包含漏洞中,攻击者运行的文件必须存在于主机上,也可以由攻击者通过反复试验发现,远程文件包含没有类似的限制。显然,攻击者知道他们想要利用的文件的位置,因为它们可能存在于自己的计算机或他们控制的站点上。这些文件也可以由他们手动选择,在漏洞利用之前不需要存在于目标计算机上。该文件甚至可能包含专门为攻击远程主机而编写的脚本。
简而言之,一旦攻击者能够发现并利用远程文件包含漏洞,就没有什么可以阻止他们完全控制应用程序甚至整个站点。当然,存储在那里的任何数据都无法免受他们的入侵。
移除远程文件包含漏洞
切勿允许用户输入直接传递给文件包含命令以供执行。取而代之的是,使用命令的间接参考映射,只从那里执行命令。间接参考地图将不受信任的用户输入映射到服务器上的一组硬编码的可信值。一定要将用户可以输入数据的所有区域列入白名单,不要忘记在该列表中包含 HTTP 标头、表单参数甚至 cookie。这样做将关闭想要创建文件包含命令的攻击者可以使用的任何窗口。
作为奖励,对用户生成的内容进行适当的清理和验证以及使用参考地图来执行命令不仅可以消除远程文件包含漏洞,还可以消除许多其他漏洞,包括该错误的危险表兄弟,本地文件包含和路径遍历漏洞。
有关远程文件包含的更多信息
要进一步阅读,你可以看看 OWASP 参考指南 用于远程文件包含漏洞。你还可以使用以下方法来测试你新获得的防御知识 免费演示 Secure Code Warrior 平台,该平台培训网络安全团队成为终极网络战士。要了解有关克服此漏洞以及其他恶棍威胁的更多信息,请访问 安全代码勇士博客。

阅读本博客系列的人可能会注意到远程文件包含漏洞与前面讨论的本地文件包含和路径遍历漏洞之间有很多相似之处。它们的根本原因是相似的,推荐的修复方法也是如此。
在许多方面,远程文件包含漏洞比本地文件漏洞危险得多,也更容易被利用。因此,应尽快找到并予以补救。或者更好的是,Web 应用程序的设计应该从一开始就防止其发生。
在本集中,我们将学习:
- 黑客如何利用远程文件包含漏洞
- 为什么允许远程包含文件很危险
- 可以解决此问题的技术。
攻击者如何利用远程文件包含?
远程文件包含漏洞利用了大多数编程框架中存在的 “动态文件包含” 命令或机制。该功能旨在允许开发人员使用位于辅助服务器上的文件在应用程序服务器上执行活动。显然,如果落入坏人之手,这可能会很危险。
攻击者如何利用这种能力,是找到任何允许不受控制的用户输入的网站或应用程序,这些输入可能来自诸如HTTP标头或交互式表单中的输入区域之类的东西。他们以此为起点来生成文件包含命令。
例如,如果网站使用 GET 函数加载页面,例如 page = request.getParameter(“page');包含页面;则攻击者可以使用页面命令发送查询,但使用他们控制的网站网址和要执行的文件的文件路径。然后,查询被传递到服务器,并在主机上执行远程文件。允许该活动,因为它现在是可信应用程序的一部分。
为什么远程文件包含漏洞很危险?
远程文件包含所构成的危险程度非常高。与本地文件包含漏洞不同,在本地文件包含漏洞中,攻击者运行的文件必须存在于主机上,也可以由攻击者通过反复试验发现,远程文件包含没有类似的限制。显然,攻击者知道他们想要利用的文件的位置,因为它们可能存在于自己的计算机或他们控制的站点上。这些文件也可以由他们手动选择,在漏洞利用之前不需要存在于目标计算机上。该文件甚至可能包含专门为攻击远程主机而编写的脚本。
简而言之,一旦攻击者能够发现并利用远程文件包含漏洞,就没有什么可以阻止他们完全控制应用程序甚至整个站点。当然,存储在那里的任何数据都无法免受他们的入侵。
移除远程文件包含漏洞
切勿允许用户输入直接传递给文件包含命令以供执行。取而代之的是,使用命令的间接参考映射,只从那里执行命令。间接参考地图将不受信任的用户输入映射到服务器上的一组硬编码的可信值。一定要将用户可以输入数据的所有区域列入白名单,不要忘记在该列表中包含 HTTP 标头、表单参数甚至 cookie。这样做将关闭想要创建文件包含命令的攻击者可以使用的任何窗口。
作为奖励,对用户生成的内容进行适当的清理和验证以及使用参考地图来执行命令不仅可以消除远程文件包含漏洞,还可以消除许多其他漏洞,包括该错误的危险表兄弟,本地文件包含和路径遍历漏洞。
有关远程文件包含的更多信息
要进一步阅读,你可以看看 OWASP 参考指南 用于远程文件包含漏洞。你还可以使用以下方法来测试你新获得的防御知识 免费演示 Secure Code Warrior 平台,该平台培训网络安全团队成为终极网络战士。要了解有关克服此漏洞以及其他恶棍威胁的更多信息,请访问 安全代码勇士博客。
阅读本博客系列的人可能会注意到远程文件包含漏洞与前面讨论的本地文件包含和路径遍历漏洞之间有很多相似之处。它们的根本原因是相似的,推荐的修复方法也是如此。
在许多方面,远程文件包含漏洞比本地文件漏洞危险得多,也更容易被利用。因此,应尽快找到并予以补救。或者更好的是,Web 应用程序的设计应该从一开始就防止其发生。
在本集中,我们将学习:
- 黑客如何利用远程文件包含漏洞
- 为什么允许远程包含文件很危险
- 可以解决此问题的技术。
攻击者如何利用远程文件包含?
远程文件包含漏洞利用了大多数编程框架中存在的 “动态文件包含” 命令或机制。该功能旨在允许开发人员使用位于辅助服务器上的文件在应用程序服务器上执行活动。显然,如果落入坏人之手,这可能会很危险。
攻击者如何利用这种能力,是找到任何允许不受控制的用户输入的网站或应用程序,这些输入可能来自诸如HTTP标头或交互式表单中的输入区域之类的东西。他们以此为起点来生成文件包含命令。
例如,如果网站使用 GET 函数加载页面,例如 page = request.getParameter(“page');包含页面;则攻击者可以使用页面命令发送查询,但使用他们控制的网站网址和要执行的文件的文件路径。然后,查询被传递到服务器,并在主机上执行远程文件。允许该活动,因为它现在是可信应用程序的一部分。
为什么远程文件包含漏洞很危险?
远程文件包含所构成的危险程度非常高。与本地文件包含漏洞不同,在本地文件包含漏洞中,攻击者运行的文件必须存在于主机上,也可以由攻击者通过反复试验发现,远程文件包含没有类似的限制。显然,攻击者知道他们想要利用的文件的位置,因为它们可能存在于自己的计算机或他们控制的站点上。这些文件也可以由他们手动选择,在漏洞利用之前不需要存在于目标计算机上。该文件甚至可能包含专门为攻击远程主机而编写的脚本。
简而言之,一旦攻击者能够发现并利用远程文件包含漏洞,就没有什么可以阻止他们完全控制应用程序甚至整个站点。当然,存储在那里的任何数据都无法免受他们的入侵。
移除远程文件包含漏洞
切勿允许用户输入直接传递给文件包含命令以供执行。取而代之的是,使用命令的间接参考映射,只从那里执行命令。间接参考地图将不受信任的用户输入映射到服务器上的一组硬编码的可信值。一定要将用户可以输入数据的所有区域列入白名单,不要忘记在该列表中包含 HTTP 标头、表单参数甚至 cookie。这样做将关闭想要创建文件包含命令的攻击者可以使用的任何窗口。
作为奖励,对用户生成的内容进行适当的清理和验证以及使用参考地图来执行命令不仅可以消除远程文件包含漏洞,还可以消除许多其他漏洞,包括该错误的危险表兄弟,本地文件包含和路径遍历漏洞。
有关远程文件包含的更多信息
要进一步阅读,你可以看看 OWASP 参考指南 用于远程文件包含漏洞。你还可以使用以下方法来测试你新获得的防御知识 免费演示 Secure Code Warrior 平台,该平台培训网络安全团队成为终极网络战士。要了解有关克服此漏洞以及其他恶棍威胁的更多信息,请访问 安全代码勇士博客。




%20(1).avif)
.avif)
