SCW图标
英雄背景无分隔线
博客

体验路径遍历漏洞的影响,这是最近 Apache 困境的罪魁祸首

Charlie Eriksen
发布于 2021 年 10 月 18 日
最后更新于 2026年3月10日

10 月初,Apache 发布了 2.4.49 版本来修复一个 路径遍历和远程代码执行漏洞 然后是 2.4.50 来解决 2.4.49 中的修复不完整的事实。鉴于此,也许你已经在社交媒体上看到过关于更新到最新版本以避免这些风险的重要性的讨论 据估计,Apache为25%的互联网提供动力。但是怎么回事?这里存在多大的风险?

为什么不自己尝试一下呢?

我们制定了一项使命,以证明现实生活中的风险,并已将其公开供所有人尝试。在本任务中,我们将引导您了解路径遍历漏洞如何影响您的基础架构和应用程序。点击下方直接进入,或继续阅读以详细了解该漏洞。

试用阿帕奇CVE-2021-41773任务的标语
前往公共任务


关于路径遍历漏洞 

该漏洞是在 2.4.49 版本中引入的 (由于 URL 标准化函数发生了变化),其中引入了新的路径标准化函数。不幸的是,它未能正确标准化 URL 编码路径。这使得进行一次活动成为可能 路径遍历攻击 如果不存在以下配置:

拒绝或允许对目录文件系统的访问


而且,如果 mod_cgi 已启用,也可以利用它来造成远程代码执行漏洞。但是,让我们先深入研究 URL 编码,以更好地了解出了什么问题。

网址编码

最基本的是,该漏洞是由于不考虑带有 URL 编码的 URL 而发生的。新引入的路径标准化函数无法完全处理点采用 URL 编码的情况。

请记住,要进行路径遍历攻击,你需要使用序列遍历 ../。但是,标准化函数足够聪明,可以将其删除。那你是做什么的?你可以 URL 编码 (点)向下移至 %2e,然后使用像这样的序列 .% 2e/。这在许多情况下适用于Apache 2.4.40。但是你也可以更进一步,对其进行双重编码。的 URL 编码版本 .% 2e/ .% 252e/。这进一步能够绕过Apache尝试的标准化操作。

但是有一个问题

如果有人想尝试直接在浏览器中利用此漏洞,他们就不会成功。这是因为浏览器还尝试对发送到服务器的网址进行标准化。这意味着即使是我们的双重编码序列也将被删除。这也意味着我们不能简单地使用浏览器来演示这一点。

你可以使用 cURL 来演示这一点,方法是 --路径原样 标志,它可以防止它在发送之前对 URL 进行标准化:

带链接的Curl路径代码

预防和缓解

为了完全防止出现此问题,请务必及时了解Apache的最新补丁。具体而言,你需要至少升级到 2.4.51。但是,定期升级以保持最新状态是一种很好的做法。

如果您运行的是 2.4.49,要缓解此问题,请确保在 Apache 配置中包含以下内容:

带有allowoverride none和require all denied规则的目录代码标签

为了防止远程代码执行,请禁用 mod_cgi 如果你不使用它。

亲自体验冲击力

有兴趣探索到底发生了什么并亲自尝试一下吗?


查看资源
查看资源

10月初,Apache发布了2.4.49版本来修复路径遍历和远程代码执行漏洞,然后发布了2.4.50版本以解决修复未完成的事实。我们制定了一项使命,以证明现实生活中的风险。现在就试试吧。

对更多感兴趣?

了解更多

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

预约演示
分享到:
领英品牌社交x 标志
作者
Charlie Eriksen
发表于2021年10月18日

分享到:
领英品牌社交x 标志

10 月初,Apache 发布了 2.4.49 版本来修复一个 路径遍历和远程代码执行漏洞 然后是 2.4.50 来解决 2.4.49 中的修复不完整的事实。鉴于此,也许你已经在社交媒体上看到过关于更新到最新版本以避免这些风险的重要性的讨论 据估计,Apache为25%的互联网提供动力。但是怎么回事?这里存在多大的风险?

为什么不自己尝试一下呢?

我们制定了一项使命,以证明现实生活中的风险,并已将其公开供所有人尝试。在本任务中,我们将引导您了解路径遍历漏洞如何影响您的基础架构和应用程序。点击下方直接进入,或继续阅读以详细了解该漏洞。

试用阿帕奇CVE-2021-41773任务的标语
前往公共任务


关于路径遍历漏洞 

该漏洞是在 2.4.49 版本中引入的 (由于 URL 标准化函数发生了变化),其中引入了新的路径标准化函数。不幸的是,它未能正确标准化 URL 编码路径。这使得进行一次活动成为可能 路径遍历攻击 如果不存在以下配置:

拒绝或允许对目录文件系统的访问


而且,如果 mod_cgi 已启用,也可以利用它来造成远程代码执行漏洞。但是,让我们先深入研究 URL 编码,以更好地了解出了什么问题。

网址编码

最基本的是,该漏洞是由于不考虑带有 URL 编码的 URL 而发生的。新引入的路径标准化函数无法完全处理点采用 URL 编码的情况。

请记住,要进行路径遍历攻击,你需要使用序列遍历 ../。但是,标准化函数足够聪明,可以将其删除。那你是做什么的?你可以 URL 编码 (点)向下移至 %2e,然后使用像这样的序列 .% 2e/。这在许多情况下适用于Apache 2.4.40。但是你也可以更进一步,对其进行双重编码。的 URL 编码版本 .% 2e/ .% 252e/。这进一步能够绕过Apache尝试的标准化操作。

但是有一个问题

如果有人想尝试直接在浏览器中利用此漏洞,他们就不会成功。这是因为浏览器还尝试对发送到服务器的网址进行标准化。这意味着即使是我们的双重编码序列也将被删除。这也意味着我们不能简单地使用浏览器来演示这一点。

你可以使用 cURL 来演示这一点,方法是 --路径原样 标志,它可以防止它在发送之前对 URL 进行标准化:

带链接的Curl路径代码

预防和缓解

为了完全防止出现此问题,请务必及时了解Apache的最新补丁。具体而言,你需要至少升级到 2.4.51。但是,定期升级以保持最新状态是一种很好的做法。

如果您运行的是 2.4.49,要缓解此问题,请确保在 Apache 配置中包含以下内容:

带有allowoverride none和require all denied规则的目录代码标签

为了防止远程代码执行,请禁用 mod_cgi 如果你不使用它。

亲自体验冲击力

有兴趣探索到底发生了什么并亲自尝试一下吗?


查看资源
查看资源

填写下面的表格下载报告

我们希望获得您的许可,以便向您发送有关我们的产品和/或相关安全编码主题的信息。我们将始终非常谨慎地对待您的个人信息,绝不会出于营销目的将其出售给其他公司。

提交
scw 成功图标
SCW 错误图标
要提交表单,请启用“分析”Cookie。完成后,可以随意再次禁用它们。

10 月初,Apache 发布了 2.4.49 版本来修复一个 路径遍历和远程代码执行漏洞 然后是 2.4.50 来解决 2.4.49 中的修复不完整的事实。鉴于此,也许你已经在社交媒体上看到过关于更新到最新版本以避免这些风险的重要性的讨论 据估计,Apache为25%的互联网提供动力。但是怎么回事?这里存在多大的风险?

为什么不自己尝试一下呢?

我们制定了一项使命,以证明现实生活中的风险,并已将其公开供所有人尝试。在本任务中,我们将引导您了解路径遍历漏洞如何影响您的基础架构和应用程序。点击下方直接进入,或继续阅读以详细了解该漏洞。

试用阿帕奇CVE-2021-41773任务的标语
前往公共任务


关于路径遍历漏洞 

该漏洞是在 2.4.49 版本中引入的 (由于 URL 标准化函数发生了变化),其中引入了新的路径标准化函数。不幸的是,它未能正确标准化 URL 编码路径。这使得进行一次活动成为可能 路径遍历攻击 如果不存在以下配置:

拒绝或允许对目录文件系统的访问


而且,如果 mod_cgi 已启用,也可以利用它来造成远程代码执行漏洞。但是,让我们先深入研究 URL 编码,以更好地了解出了什么问题。

网址编码

最基本的是,该漏洞是由于不考虑带有 URL 编码的 URL 而发生的。新引入的路径标准化函数无法完全处理点采用 URL 编码的情况。

请记住,要进行路径遍历攻击,你需要使用序列遍历 ../。但是,标准化函数足够聪明,可以将其删除。那你是做什么的?你可以 URL 编码 (点)向下移至 %2e,然后使用像这样的序列 .% 2e/。这在许多情况下适用于Apache 2.4.40。但是你也可以更进一步,对其进行双重编码。的 URL 编码版本 .% 2e/ .% 252e/。这进一步能够绕过Apache尝试的标准化操作。

但是有一个问题

如果有人想尝试直接在浏览器中利用此漏洞,他们就不会成功。这是因为浏览器还尝试对发送到服务器的网址进行标准化。这意味着即使是我们的双重编码序列也将被删除。这也意味着我们不能简单地使用浏览器来演示这一点。

你可以使用 cURL 来演示这一点,方法是 --路径原样 标志,它可以防止它在发送之前对 URL 进行标准化:

带链接的Curl路径代码

预防和缓解

为了完全防止出现此问题,请务必及时了解Apache的最新补丁。具体而言,你需要至少升级到 2.4.51。但是,定期升级以保持最新状态是一种很好的做法。

如果您运行的是 2.4.49,要缓解此问题,请确保在 Apache 配置中包含以下内容:

带有allowoverride none和require all denied规则的目录代码标签

为了防止远程代码执行,请禁用 mod_cgi 如果你不使用它。

亲自体验冲击力

有兴趣探索到底发生了什么并亲自尝试一下吗?


观看网络研讨会
开始吧
了解更多

点击下面的链接并下载此资源的PDF。

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

查看报告预约演示
查看资源
分享到:
领英品牌社交x 标志
对更多感兴趣?

分享到:
领英品牌社交x 标志
作者
Charlie Eriksen
发表于2021年10月18日

分享到:
领英品牌社交x 标志

10 月初,Apache 发布了 2.4.49 版本来修复一个 路径遍历和远程代码执行漏洞 然后是 2.4.50 来解决 2.4.49 中的修复不完整的事实。鉴于此,也许你已经在社交媒体上看到过关于更新到最新版本以避免这些风险的重要性的讨论 据估计,Apache为25%的互联网提供动力。但是怎么回事?这里存在多大的风险?

为什么不自己尝试一下呢?

我们制定了一项使命,以证明现实生活中的风险,并已将其公开供所有人尝试。在本任务中,我们将引导您了解路径遍历漏洞如何影响您的基础架构和应用程序。点击下方直接进入,或继续阅读以详细了解该漏洞。

试用阿帕奇CVE-2021-41773任务的标语
前往公共任务


关于路径遍历漏洞 

该漏洞是在 2.4.49 版本中引入的 (由于 URL 标准化函数发生了变化),其中引入了新的路径标准化函数。不幸的是,它未能正确标准化 URL 编码路径。这使得进行一次活动成为可能 路径遍历攻击 如果不存在以下配置:

拒绝或允许对目录文件系统的访问


而且,如果 mod_cgi 已启用,也可以利用它来造成远程代码执行漏洞。但是,让我们先深入研究 URL 编码,以更好地了解出了什么问题。

网址编码

最基本的是,该漏洞是由于不考虑带有 URL 编码的 URL 而发生的。新引入的路径标准化函数无法完全处理点采用 URL 编码的情况。

请记住,要进行路径遍历攻击,你需要使用序列遍历 ../。但是,标准化函数足够聪明,可以将其删除。那你是做什么的?你可以 URL 编码 (点)向下移至 %2e,然后使用像这样的序列 .% 2e/。这在许多情况下适用于Apache 2.4.40。但是你也可以更进一步,对其进行双重编码。的 URL 编码版本 .% 2e/ .% 252e/。这进一步能够绕过Apache尝试的标准化操作。

但是有一个问题

如果有人想尝试直接在浏览器中利用此漏洞,他们就不会成功。这是因为浏览器还尝试对发送到服务器的网址进行标准化。这意味着即使是我们的双重编码序列也将被删除。这也意味着我们不能简单地使用浏览器来演示这一点。

你可以使用 cURL 来演示这一点,方法是 --路径原样 标志,它可以防止它在发送之前对 URL 进行标准化:

带链接的Curl路径代码

预防和缓解

为了完全防止出现此问题,请务必及时了解Apache的最新补丁。具体而言,你需要至少升级到 2.4.51。但是,定期升级以保持最新状态是一种很好的做法。

如果您运行的是 2.4.49,要缓解此问题,请确保在 Apache 配置中包含以下内容:

带有allowoverride none和require all denied规则的目录代码标签

为了防止远程代码执行,请禁用 mod_cgi 如果你不使用它。

亲自体验冲击力

有兴趣探索到底发生了什么并亲自尝试一下吗?


目录

下载PDF
查看资源
对更多感兴趣?

了解更多

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

预约演示下载
分享到:
领英品牌社交x 标志
资源中心

帮助您入门的资源

更多帖子
资源中心

帮助您入门的资源

更多帖子