
编码员征服安全。分享与学习系列 - 本地文件包含和路径穿越
与许多漏洞不同的是,利用本地文件包含和路径遍历过程来达到邪恶的目的,需要一个足够熟练的攻击者,相当多的时间,也许还有一点运气。这并不是说这个漏洞可以被忽视。熟练的攻击者可以利用它使内部文件对组织不利,绘制目录结构图,甚至窃取密码和用户信息,用于危险的二次攻击。
在这一集里,我们将学习。
- 黑客如何利用本地文件包含和路径遍历漏洞
- 为什么允许不受限制的本地文件包含和路径遍历会有危险?
- 可以采用的政策和技术来发现和解决这个问题。
攻击者如何利用本地文件包含和路径遍历?
经典的电视侦探科伦坡(Columbo)过去总是在提供一个有价值的信息之前说:"还有一件事",这个信息将破解手头的案件。这句话在当时看来无关紧要,而且几乎总是被嫌疑人忽略,但事实证明,它总是成为他们的败笔。本地文件包含和路径穿越漏洞就很像这样。
本地文件包含和路径穿越漏洞使用了大多数编程框架(如ASP、JSP和PHP脚本)中存在的动态文件包含机制。对于本地文件包含,攻击者将存在于本地服务器上的文件名滑入网络应用程序的某个区域,如标题或表单输入区。应用程序像正常一样处理主要输入,但也处理include(page)或类似命令。在路径遍历中,攻击者定义了一个可疑文件的路径,通常使用点、点和斜线(.../)字符作为变量。这非常像Columbo,因为黑客真的不关心参数的第一部分。这只是他们在最后添加 "只是多了一件事 "的一种手段。
在这两种情况下,攻击者通常必须进行大量的试验和错误。除非他们非常熟悉网站的结构,否则猜测路径配置和文件名可能需要很长的时间。也就是说,大多数网站都遵循特定的模式,并且有或多或少类似的目录和文件名。因此,它可能不会像你想象的那样花费很长时间。鉴于报酬可能非常丰厚,一旦发现本地文件包含和路径遍历漏洞,黑客就会有很大的动力去尝试利用。
为什么本地文件包含和路径遍历漏洞是危险的?
本地文件包含和路径遍历漏洞很危险,因为它们可以让攻击者获得对敏感或关键文件的访问。对于数据文件,危险在于黑客可以获得一些有价值的东西,如用户密码或其他个人信息。一个主要目标通常是密码或用户配置文件,因为这将提供对网站其他部分的访问。数据库也是主要目标。在最坏的情况下,本地文件包含和路径穿越漏洞可以让攻击者窃取数据库的全部内容。
对于可执行文件来说,危险在于获得对它们的访问权可能会使攻击者进行恶意活动,如破坏网站的一部分,甚至通过浪费系统资源来发动某种类型的内部拒绝服务攻击。但是,危险的全部范围只受限于攻击者的聪明才智和技能,以及他们能够访问目标服务器上已经存在的任何文件。
消除本地文件包含和路径遍历所带来的威胁
通过良好的网络安全实践,可以消除本地文件包含和路径遍历漏洞所带来的危险。要记住的最重要的事情是永远不要允许用户在 "文件包含 "或其他具有类似功能的命令中输入。如果一个应用程序必须允许它,不要直接传递它。相反,使用间接参考图。间接引用映射将用户的输入映射到一组硬编码的可信值,然后可以安全使用。
与其他许多漏洞一样,要特别注意所有用户控制的输入区域,如cookies、HTTP头和表单参数。允许的输入应该被列入白名单,而其他一切都被明确拒绝。在无法做到这一点的情况下,使用输入验证来严格规范允许的数值,如数字、字母数字值等。
关于本地文件包含和路径穿越的更多信息
要进一步阅读,你可以看一下OWASP关于本地文件包含和路径穿越漏洞的测试指南。你也可以用Secure Code Warrior 平台的免费演示来测试你新发现的防御知识,该平台培训网络安全团队成为终极网络战士。要了解更多关于击败这个漏洞以及其他威胁的流氓画廊,请访问Secure Code Warrior 博客。
Jaap Karan Singh是一位安全编码布道者,首席辛格和Secure Code Warrior 的共同创始人。

Secure Code Warrior 我们在这里为您的组织提供服务,帮助您在整个软件开发生命周期中确保代码安全,并创造一种将网络安全放在首位的文化。无论您是应用安全经理、开发人员、CISO或任何涉及安全的人,我们都可以帮助您的组织减少与不安全代码有关的风险。
预定一个演示Jaap Karan Singh是一位安全编码布道者,首席辛格和Secure Code Warrior 的共同创始人。


与许多漏洞不同的是,利用本地文件包含和路径遍历过程来达到邪恶的目的,需要一个足够熟练的攻击者,相当多的时间,也许还有一点运气。这并不是说这个漏洞可以被忽视。熟练的攻击者可以利用它使内部文件对组织不利,绘制目录结构图,甚至窃取密码和用户信息,用于危险的二次攻击。
在这一集里,我们将学习。
- 黑客如何利用本地文件包含和路径遍历漏洞
- 为什么允许不受限制的本地文件包含和路径遍历会有危险?
- 可以采用的政策和技术来发现和解决这个问题。
攻击者如何利用本地文件包含和路径遍历?
经典的电视侦探科伦坡(Columbo)过去总是在提供一个有价值的信息之前说:"还有一件事",这个信息将破解手头的案件。这句话在当时看来无关紧要,而且几乎总是被嫌疑人忽略,但事实证明,它总是成为他们的败笔。本地文件包含和路径穿越漏洞就很像这样。
本地文件包含和路径穿越漏洞使用了大多数编程框架(如ASP、JSP和PHP脚本)中存在的动态文件包含机制。对于本地文件包含,攻击者将存在于本地服务器上的文件名滑入网络应用程序的某个区域,如标题或表单输入区。应用程序像正常一样处理主要输入,但也处理include(page)或类似命令。在路径遍历中,攻击者定义了一个可疑文件的路径,通常使用点、点和斜线(.../)字符作为变量。这非常像Columbo,因为黑客真的不关心参数的第一部分。这只是他们在最后添加 "只是多了一件事 "的一种手段。
在这两种情况下,攻击者通常必须进行大量的试验和错误。除非他们非常熟悉网站的结构,否则猜测路径配置和文件名可能需要很长的时间。也就是说,大多数网站都遵循特定的模式,并且有或多或少类似的目录和文件名。因此,它可能不会像你想象的那样花费很长时间。鉴于报酬可能非常丰厚,一旦发现本地文件包含和路径遍历漏洞,黑客就会有很大的动力去尝试利用。
为什么本地文件包含和路径遍历漏洞是危险的?
本地文件包含和路径遍历漏洞很危险,因为它们可以让攻击者获得对敏感或关键文件的访问。对于数据文件,危险在于黑客可以获得一些有价值的东西,如用户密码或其他个人信息。一个主要目标通常是密码或用户配置文件,因为这将提供对网站其他部分的访问。数据库也是主要目标。在最坏的情况下,本地文件包含和路径穿越漏洞可以让攻击者窃取数据库的全部内容。
对于可执行文件来说,危险在于获得对它们的访问权可能会使攻击者进行恶意活动,如破坏网站的一部分,甚至通过浪费系统资源来发动某种类型的内部拒绝服务攻击。但是,危险的全部范围只受限于攻击者的聪明才智和技能,以及他们能够访问目标服务器上已经存在的任何文件。
消除本地文件包含和路径遍历所带来的威胁
通过良好的网络安全实践,可以消除本地文件包含和路径遍历漏洞所带来的危险。要记住的最重要的事情是永远不要允许用户在 "文件包含 "或其他具有类似功能的命令中输入。如果一个应用程序必须允许它,不要直接传递它。相反,使用间接参考图。间接引用映射将用户的输入映射到一组硬编码的可信值,然后可以安全使用。
与其他许多漏洞一样,要特别注意所有用户控制的输入区域,如cookies、HTTP头和表单参数。允许的输入应该被列入白名单,而其他一切都被明确拒绝。在无法做到这一点的情况下,使用输入验证来严格规范允许的数值,如数字、字母数字值等。
关于本地文件包含和路径穿越的更多信息
要进一步阅读,你可以看一下OWASP关于本地文件包含和路径穿越漏洞的测试指南。你也可以用Secure Code Warrior 平台的免费演示来测试你新发现的防御知识,该平台培训网络安全团队成为终极网络战士。要了解更多关于击败这个漏洞以及其他威胁的流氓画廊,请访问Secure Code Warrior 博客。

与许多漏洞不同的是,利用本地文件包含和路径遍历过程来达到邪恶的目的,需要一个足够熟练的攻击者,相当多的时间,也许还有一点运气。这并不是说这个漏洞可以被忽视。熟练的攻击者可以利用它使内部文件对组织不利,绘制目录结构图,甚至窃取密码和用户信息,用于危险的二次攻击。
在这一集里,我们将学习。
- 黑客如何利用本地文件包含和路径遍历漏洞
- 为什么允许不受限制的本地文件包含和路径遍历会有危险?
- 可以采用的政策和技术来发现和解决这个问题。
攻击者如何利用本地文件包含和路径遍历?
经典的电视侦探科伦坡(Columbo)过去总是在提供一个有价值的信息之前说:"还有一件事",这个信息将破解手头的案件。这句话在当时看来无关紧要,而且几乎总是被嫌疑人忽略,但事实证明,它总是成为他们的败笔。本地文件包含和路径穿越漏洞就很像这样。
本地文件包含和路径穿越漏洞使用了大多数编程框架(如ASP、JSP和PHP脚本)中存在的动态文件包含机制。对于本地文件包含,攻击者将存在于本地服务器上的文件名滑入网络应用程序的某个区域,如标题或表单输入区。应用程序像正常一样处理主要输入,但也处理include(page)或类似命令。在路径遍历中,攻击者定义了一个可疑文件的路径,通常使用点、点和斜线(.../)字符作为变量。这非常像Columbo,因为黑客真的不关心参数的第一部分。这只是他们在最后添加 "只是多了一件事 "的一种手段。
在这两种情况下,攻击者通常必须进行大量的试验和错误。除非他们非常熟悉网站的结构,否则猜测路径配置和文件名可能需要很长的时间。也就是说,大多数网站都遵循特定的模式,并且有或多或少类似的目录和文件名。因此,它可能不会像你想象的那样花费很长时间。鉴于报酬可能非常丰厚,一旦发现本地文件包含和路径遍历漏洞,黑客就会有很大的动力去尝试利用。
为什么本地文件包含和路径遍历漏洞是危险的?
本地文件包含和路径遍历漏洞很危险,因为它们可以让攻击者获得对敏感或关键文件的访问。对于数据文件,危险在于黑客可以获得一些有价值的东西,如用户密码或其他个人信息。一个主要目标通常是密码或用户配置文件,因为这将提供对网站其他部分的访问。数据库也是主要目标。在最坏的情况下,本地文件包含和路径穿越漏洞可以让攻击者窃取数据库的全部内容。
对于可执行文件来说,危险在于获得对它们的访问权可能会使攻击者进行恶意活动,如破坏网站的一部分,甚至通过浪费系统资源来发动某种类型的内部拒绝服务攻击。但是,危险的全部范围只受限于攻击者的聪明才智和技能,以及他们能够访问目标服务器上已经存在的任何文件。
消除本地文件包含和路径遍历所带来的威胁
通过良好的网络安全实践,可以消除本地文件包含和路径遍历漏洞所带来的危险。要记住的最重要的事情是永远不要允许用户在 "文件包含 "或其他具有类似功能的命令中输入。如果一个应用程序必须允许它,不要直接传递它。相反,使用间接参考图。间接引用映射将用户的输入映射到一组硬编码的可信值,然后可以安全使用。
与其他许多漏洞一样,要特别注意所有用户控制的输入区域,如cookies、HTTP头和表单参数。允许的输入应该被列入白名单,而其他一切都被明确拒绝。在无法做到这一点的情况下,使用输入验证来严格规范允许的数值,如数字、字母数字值等。
关于本地文件包含和路径穿越的更多信息
要进一步阅读,你可以看一下OWASP关于本地文件包含和路径穿越漏洞的测试指南。你也可以用Secure Code Warrior 平台的免费演示来测试你新发现的防御知识,该平台培训网络安全团队成为终极网络战士。要了解更多关于击败这个漏洞以及其他威胁的流氓画廊,请访问Secure Code Warrior 博客。
与许多漏洞不同的是,利用本地文件包含和路径遍历过程来达到邪恶的目的,需要一个足够熟练的攻击者,相当多的时间,也许还有一点运气。这并不是说这个漏洞可以被忽视。熟练的攻击者可以利用它使内部文件对组织不利,绘制目录结构图,甚至窃取密码和用户信息,用于危险的二次攻击。
在这一集里,我们将学习。
- 黑客如何利用本地文件包含和路径遍历漏洞
- 为什么允许不受限制的本地文件包含和路径遍历会有危险?
- 可以采用的政策和技术来发现和解决这个问题。
攻击者如何利用本地文件包含和路径遍历?
经典的电视侦探科伦坡(Columbo)过去总是在提供一个有价值的信息之前说:"还有一件事",这个信息将破解手头的案件。这句话在当时看来无关紧要,而且几乎总是被嫌疑人忽略,但事实证明,它总是成为他们的败笔。本地文件包含和路径穿越漏洞就很像这样。
本地文件包含和路径穿越漏洞使用了大多数编程框架(如ASP、JSP和PHP脚本)中存在的动态文件包含机制。对于本地文件包含,攻击者将存在于本地服务器上的文件名滑入网络应用程序的某个区域,如标题或表单输入区。应用程序像正常一样处理主要输入,但也处理include(page)或类似命令。在路径遍历中,攻击者定义了一个可疑文件的路径,通常使用点、点和斜线(.../)字符作为变量。这非常像Columbo,因为黑客真的不关心参数的第一部分。这只是他们在最后添加 "只是多了一件事 "的一种手段。
在这两种情况下,攻击者通常必须进行大量的试验和错误。除非他们非常熟悉网站的结构,否则猜测路径配置和文件名可能需要很长的时间。也就是说,大多数网站都遵循特定的模式,并且有或多或少类似的目录和文件名。因此,它可能不会像你想象的那样花费很长时间。鉴于报酬可能非常丰厚,一旦发现本地文件包含和路径遍历漏洞,黑客就会有很大的动力去尝试利用。
为什么本地文件包含和路径遍历漏洞是危险的?
本地文件包含和路径遍历漏洞很危险,因为它们可以让攻击者获得对敏感或关键文件的访问。对于数据文件,危险在于黑客可以获得一些有价值的东西,如用户密码或其他个人信息。一个主要目标通常是密码或用户配置文件,因为这将提供对网站其他部分的访问。数据库也是主要目标。在最坏的情况下,本地文件包含和路径穿越漏洞可以让攻击者窃取数据库的全部内容。
对于可执行文件来说,危险在于获得对它们的访问权可能会使攻击者进行恶意活动,如破坏网站的一部分,甚至通过浪费系统资源来发动某种类型的内部拒绝服务攻击。但是,危险的全部范围只受限于攻击者的聪明才智和技能,以及他们能够访问目标服务器上已经存在的任何文件。
消除本地文件包含和路径遍历所带来的威胁
通过良好的网络安全实践,可以消除本地文件包含和路径遍历漏洞所带来的危险。要记住的最重要的事情是永远不要允许用户在 "文件包含 "或其他具有类似功能的命令中输入。如果一个应用程序必须允许它,不要直接传递它。相反,使用间接参考图。间接引用映射将用户的输入映射到一组硬编码的可信值,然后可以安全使用。
与其他许多漏洞一样,要特别注意所有用户控制的输入区域,如cookies、HTTP头和表单参数。允许的输入应该被列入白名单,而其他一切都被明确拒绝。在无法做到这一点的情况下,使用输入验证来严格规范允许的数值,如数字、字母数字值等。
关于本地文件包含和路径穿越的更多信息
要进一步阅读,你可以看一下OWASP关于本地文件包含和路径穿越漏洞的测试指南。你也可以用Secure Code Warrior 平台的免费演示来测试你新发现的防御知识,该平台培训网络安全团队成为终极网络战士。要了解更多关于击败这个漏洞以及其他威胁的流氓画廊,请访问Secure Code Warrior 博客。
资源
安全代码培训主题和内容
Our industry-leading content is always evolving to fit the ever changing software development landscape with your role in mind. Topics covering everything from AI to XQuery Injection, offered for a variety of roles from Architects and Engineers to Product Managers and QA. Get a sneak peek of what our content catalog has to offer by topic and role.
资源
Observe and Secure the ADLC: A Four-Point Framework for CISOs and Development Teams Using AI
While development teams look to make the most of GenAI’s undeniable benefits, we’d like to propose a four-point foundational framework that will allow security leaders to deploy AI coding tools and agents with a higher, more relevant standard of security best practices. It details exactly what enterprises can do to ensure safe, secure code development right now, and as agentic AI becomes an even bigger factor in the future.




%20(1).avif)

