感受路径穿越漏洞的影响,这也是最近Apache困境的罪魁祸首
10月初,Apache发布了2.4.49版本,修复了一个路径遍历和远程代码执行漏洞,随后又发布了2.4.50版本,以解决2.4.49版本修复不完整的问题。也许你已经在社交媒体上看到了关于更新到最新版本以避免这些风险的重要性的讨论,因为根据一些估计,Apache为25%的互联网提供动力。但这是怎么回事呢?这里存在多大的风险?
为什么不自己尝试一下呢?
我们已经建立了一个任务来展示真实环境中的风险,并将其公开供大家尝试。在这个任务中,我们将引导你了解路径穿越漏洞如何影响你的基础设施和应用程序。点击下面直接进入,或继续阅读以了解更多关于该漏洞的细节。
关于路径穿越漏洞
该漏洞是在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之前对其进行规范化。
预防和缓解
为了完全防止这个问题,重要的是保持与Apache的最新补丁同步。具体来说,你至少要升级到2.4.51。但定期升级以保持最新也是一个好的做法。
如果你运行的是2.4.49,为了减轻这个问题,请确保你在你的Apache配置中包含以下内容。
为了防止远程代码执行,如果你不使用mod_cgi ,请禁用它。
亲身体验其影响
有兴趣探究到底发生了什么,并亲自尝试一下吗?
10月初,Apache发布了2.4.49版本,修复了一个路径遍历和远程代码执行漏洞,随后又发布了2.4.50版本,以解决2.4.49版本修复不完整的问题。也许你已经在社交媒体上看到了关于更新到最新版本以避免这些风险的重要性的讨论,因为根据一些估计,Apache为25%的互联网提供动力。但这是怎么回事呢?这里存在多大的风险?
为什么不自己尝试一下呢?
我们已经建立了一个任务来展示真实环境中的风险,并将其公开供大家尝试。在这个任务中,我们将引导你了解路径穿越漏洞如何影响你的基础设施和应用程序。点击下面直接进入,或继续阅读以了解更多关于该漏洞的细节。
关于路径穿越漏洞
该漏洞是在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之前对其进行规范化。
预防和缓解
为了完全防止这个问题,重要的是保持与Apache的最新补丁同步。具体来说,你至少要升级到2.4.51。但定期升级以保持最新也是一个好的做法。
如果你运行的是2.4.49,为了减轻这个问题,请确保你在你的Apache配置中包含以下内容。
为了防止远程代码执行,如果你不使用mod_cgi ,请禁用它。
亲身体验其影响
有兴趣探究到底发生了什么,并亲自尝试一下吗?
10月初,Apache发布了2.4.49版本,修复了一个路径遍历和远程代码执行漏洞,随后又发布了2.4.50版本,以解决2.4.49版本修复不完整的问题。也许你已经在社交媒体上看到了关于更新到最新版本以避免这些风险的重要性的讨论,因为根据一些估计,Apache为25%的互联网提供动力。但这是怎么回事呢?这里存在多大的风险?
为什么不自己尝试一下呢?
我们已经建立了一个任务来展示真实环境中的风险,并将其公开供大家尝试。在这个任务中,我们将引导你了解路径穿越漏洞如何影响你的基础设施和应用程序。点击下面直接进入,或继续阅读以了解更多关于该漏洞的细节。
关于路径穿越漏洞
该漏洞是在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之前对其进行规范化。
预防和缓解
为了完全防止这个问题,重要的是保持与Apache的最新补丁同步。具体来说,你至少要升级到2.4.51。但定期升级以保持最新也是一个好的做法。
如果你运行的是2.4.49,为了减轻这个问题,请确保你在你的Apache配置中包含以下内容。
为了防止远程代码执行,如果你不使用mod_cgi ,请禁用它。
亲身体验其影响
有兴趣探究到底发生了什么,并亲自尝试一下吗?
10月初,Apache发布了2.4.49版本,修复了一个路径遍历和远程代码执行漏洞,随后又发布了2.4.50版本,以解决2.4.49版本修复不完整的问题。也许你已经在社交媒体上看到了关于更新到最新版本以避免这些风险的重要性的讨论,因为根据一些估计,Apache为25%的互联网提供动力。但这是怎么回事呢?这里存在多大的风险?
为什么不自己尝试一下呢?
我们已经建立了一个任务来展示真实环境中的风险,并将其公开供大家尝试。在这个任务中,我们将引导你了解路径穿越漏洞如何影响你的基础设施和应用程序。点击下面直接进入,或继续阅读以了解更多关于该漏洞的细节。
关于路径穿越漏洞
该漏洞是在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之前对其进行规范化。
预防和缓解
为了完全防止这个问题,重要的是保持与Apache的最新补丁同步。具体来说,你至少要升级到2.4.51。但定期升级以保持最新也是一个好的做法。
如果你运行的是2.4.49,为了减轻这个问题,请确保你在你的Apache配置中包含以下内容。
为了防止远程代码执行,如果你不使用mod_cgi ,请禁用它。
亲身体验其影响
有兴趣探究到底发生了什么,并亲自尝试一下吗?