我该如何修复Apache上的HTTP请求走私问题?

3
我使用Burp Suite Professional扫描了我的网站。
它提示发现了一个名为“HTTP请求走私”的漏洞。
该漏洞是在2019年8月7日的Burp Suite Professional版本2.1.03中检测到的。
我的服务器环境如下:
- CentOS 7 - Apache 2.4 - PHP 7.3
PortSwigger 提供了解决此问题的方法。
即通过将Web服务器的网络协议从“HTTP/1.1”更改为“HTTP/2”来解决。

https://portswigger.net/web-security/request-smuggling#how-to-prevent-http-request-smuggling-vulnerabilities

我更改了我的网站,支持SSL和HTTP/2。然后再次进行扫描,发现“HTTP请求走私”漏洞仍然存在。请问如何解决这个问题?我不关心这个问题的细节或者它是如何工作的。我想知道的是如何停止检测到这个问题。如果您遇到类似的事件,请告诉我解决方案。如果可能的话,希望您在httpd.conf或php.ini等文件中写下您所做的操作。

你好!你找到解决办法了吗?我也遇到这个问题。 - Максим Казаченко
你好。很难说,我们的团队决定对这个问题视而不见,因为我们找不到解决方案。我们曾被客户要求解决BurpSuite中的高安全风险,但是最新版本的BurpSuite将此漏洞的优先级降低为中等,所以我们不再需要处理它。 - qwe001
好的,顺便说一下,我发现这个问题在最新版本的Tomcat中已经修复了,但是我还没有尝试过。如果你尝试了的话,请告诉我反馈。 - Максим Казаченко
2个回答

1

嗯,我们的服务器没有安装Apache Tomcat,所以这个解决方案不适合我的情况。但是谢谢你提供的信息 :) - qwe001

0

如果您正在使用端到端的HTTP/2通信,则应该消除漏洞。我的意思是,HTTP/2是所有HTTP流量中使用的唯一HTTP版本。

许多Web架构都有一个负载均衡器或代理位于Web服务器前面,接受HTTP/2流量。然而,许多前端服务器在将流量转发到后端服务器/ Web服务器时会将传入的HTTP/2流量重写为HTTP/1。当流量被重写为HTTP/1时,就可能存在HTTP请求走私问题。更多信息请参见:https://www.youtube.com/watch?v=rHxVVeM9R-M

我从Portswigger的研究人员James Kettle发布了这句话:“您可以通过将前端服务器配置为专门使用HTTP/2与后端系统通信,或完全禁用后端连接重用来解决此漏洞的所有变体。”

来源:https://portswigger.net/research/http-desync-attacks-request-smuggling-reborn


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接