hacktricks/pentesting-web/http-connection-request-smuggling.md

4.3 KiB
Raw Blame History

HTTP连接请求劫持

☁️ HackTricks Cloud ☁️ - 🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

这是一篇文章的摘要https://portswigger.net/research/browser-powered-desync-attacks

连接状态攻击

首次请求验证

在路由请求时,反向代理可能依赖于Host头部来确定目标后端服务器,通常依赖于允许访问的主机的白名单。然而,在一些代理中存在漏洞,其中白名单仅在连接的初始请求上执行。因此,攻击者可以利用这一点,首先向允许的主机发出请求,然后通过同一连接请求内部站点:

GET / HTTP/1.1
Host: [allowed-external-host]

GET / HTTP/1.1
Host: [internal-host]

第一个请求路由

在某些配置中,前端服务器可能会使用第一个请求的主机头来确定该请求的后端路由,然后持续地将同一客户端连接的所有后续请求路由到同一后端连接。这可以演示为:

GET / HTTP/1.1
Host: example.com

POST /pwreset HTTP/1.1
Host: psres.net

这个问题可能与主机头攻击,如密码重置污染或web缓存污染相结合,以利用其他漏洞或未经授权访问其他虚拟主机。

{% hint style="info" %} 要识别这些漏洞可以利用HTTP请求劫持器中的'connection-state probe'功能。 {% endhint %}

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥