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

最近の Apache の問題の原因となったパストラバーサルの脆弱性の影響を体験してください

チャーリー・エリクセン
发布于 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编码的情况。 

请记住,要进行路径遍历攻击,你需要用.../这个序列进行遍历。然而,规范化函数足够聪明,可以将其剥离出来。那么你是怎么做的呢?你可以将.(Dot)编码为%2e,并使用.%2e/这样的序列。这在很多情况下对Apache 2.4.40都有效。但你也可以更进一步,对它进行双重编码。.%2e/ 的URL编码版本是.%252e/。这进一步能够绕过Apache试图进行的规范化。

但有一个问题

如果有人想直接在他们的浏览器中尝试利用这个漏洞,他们不会成功。这是由于浏览器也试图将发送到服务器的URL规范化。这意味着,即使是我们的双重编码序列也会被删除。这也意味着我们不能简单地用浏览器来证明这一点。

你可以通过使用-path-as-is 标志来证明这一点,这可以防止它在发送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 标志
著者
チャーリー・エリクセン
发表于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编码的情况。 

请记住,要进行路径遍历攻击,你需要用.../这个序列进行遍历。然而,规范化函数足够聪明,可以将其剥离出来。那么你是怎么做的呢?你可以将.(Dot)编码为%2e,并使用.%2e/这样的序列。这在很多情况下对Apache 2.4.40都有效。但你也可以更进一步,对它进行双重编码。.%2e/ 的URL编码版本是.%252e/。这进一步能够绕过Apache试图进行的规范化。

但有一个问题

如果有人想直接在他们的浏览器中尝试利用这个漏洞,他们不会成功。这是由于浏览器也试图将发送到服务器的URL规范化。这意味着,即使是我们的双重编码序列也会被删除。这也意味着我们不能简单地用浏览器来证明这一点。

你可以通过使用-path-as-is 标志来证明这一点,这可以防止它在发送URL之前对其进行规范化。

带链接的Curl路径代码

预防和缓解

为了完全防止这个问题,重要的是保持与Apache的最新补丁同步。具体来说,你至少要升级到2.4.51。但定期升级以保持最新也是一个好的做法。

如果你运行的是2.4.49,为了减轻这个问题,请确保你在你的Apache配置中包含以下内容。

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

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

亲身体验其影响

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


显示资源
显示资源

要下载报告,请填写以下表格。

恳请允许我们向您发送有关本公司产品及/或相关安全编码主题的信息。我们始终以高度谨慎的态度处理您的个人信息,绝不会出于营销目的将其出售给其他公司。

送信
scw 成功图标
SCW 错误图标
要提交表单,请启用“Analytics”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编码的情况。 

请记住,要进行路径遍历攻击,你需要用.../这个序列进行遍历。然而,规范化函数足够聪明,可以将其剥离出来。那么你是怎么做的呢?你可以将.(Dot)编码为%2e,并使用.%2e/这样的序列。这在很多情况下对Apache 2.4.40都有效。但你也可以更进一步,对它进行双重编码。.%2e/ 的URL编码版本是.%252e/。这进一步能够绕过Apache试图进行的规范化。

但有一个问题

如果有人想直接在他们的浏览器中尝试利用这个漏洞,他们不会成功。这是由于浏览器也试图将发送到服务器的URL规范化。这意味着,即使是我们的双重编码序列也会被删除。这也意味着我们不能简单地用浏览器来证明这一点。

你可以通过使用-path-as-is 标志来证明这一点,这可以防止它在发送URL之前对其进行规范化。

带链接的Curl路径代码

预防和缓解

为了完全防止这个问题,重要的是保持与Apache的最新补丁同步。具体来说,你至少要升级到2.4.51。但定期升级以保持最新也是一个好的做法。

如果你运行的是2.4.49,为了减轻这个问题,请确保你在你的Apache配置中包含以下内容。

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

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

亲身体验其影响

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


观看在线研讨会
开始吧
了解更多

请点击以下链接下载此资源的PDF文件。

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

显示报告预约演示
下载PDF文件
显示资源
分享:
领英品牌社交x 标志
您还有兴趣吗?

分享:
领英品牌社交x 标志
著者
チャーリー・エリクセン
发表于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编码的情况。 

请记住,要进行路径遍历攻击,你需要用.../这个序列进行遍历。然而,规范化函数足够聪明,可以将其剥离出来。那么你是怎么做的呢?你可以将.(Dot)编码为%2e,并使用.%2e/这样的序列。这在很多情况下对Apache 2.4.40都有效。但你也可以更进一步,对它进行双重编码。.%2e/ 的URL编码版本是.%252e/。这进一步能够绕过Apache试图进行的规范化。

但有一个问题

如果有人想直接在他们的浏览器中尝试利用这个漏洞,他们不会成功。这是由于浏览器也试图将发送到服务器的URL规范化。这意味着,即使是我们的双重编码序列也会被删除。这也意味着我们不能简单地用浏览器来证明这一点。

你可以通过使用-path-as-is 标志来证明这一点,这可以防止它在发送URL之前对其进行规范化。

带链接的Curl路径代码

预防和缓解

为了完全防止这个问题,重要的是保持与Apache的最新补丁同步。具体来说,你至少要升级到2.4.51。但定期升级以保持最新也是一个好的做法。

如果你运行的是2.4.49,为了减轻这个问题,请确保你在你的Apache配置中包含以下内容。

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

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

亲身体验其影响

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


目录

下载PDF文件
显示资源
您还有兴趣吗?

了解更多

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

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

开始所需的资源

其他投稿
资源中心

开始所需的资源

其他投稿