2024-02-06 04:10:34 +00:00
|
|
|
|
# hop-by-hop headers
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
|
|
|
|
<details>
|
|
|
|
|
|
2024-02-07 04:49:09 +00:00
|
|
|
|
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2024-02-07 04:49:09 +00:00
|
|
|
|
* 您在**网络安全公司**工作吗?想要在HackTricks中看到您的**公司广告**?或者想要访问**PEASS的最新版本或下载HackTricks的PDF**?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
2024-02-06 04:10:34 +00:00
|
|
|
|
* 发现我们的独家[NFT收藏品**The PEASS Family**](https://opensea.io/collection/the-peass-family)
|
|
|
|
|
* 获取[**官方PEASS和HackTricks周边**](https://peass.creator-spring.com)
|
2024-02-07 04:49:09 +00:00
|
|
|
|
* **加入** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter**上**🐦**[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
2024-02-06 04:10:34 +00:00
|
|
|
|
* 通过向[hacktricks repo](https://github.com/carlospolop/hacktricks)和[hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)提交PR来分享您的黑客技巧。
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2022-10-25 15:56:49 +00:00
|
|
|
|
</details>
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2024-02-06 04:10:34 +00:00
|
|
|
|
**这是一篇关于[https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers](https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers)的文章摘要**
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2024-02-07 04:49:09 +00:00
|
|
|
|
逐跳头部是特定于单个传输级连接的头部,主要用于HTTP/1.1在两个节点之间(如客户端-代理或代理-代理)管理数据,并且不应转发。标准的逐跳头部包括`Keep-Alive`、`Transfer-Encoding`、`TE`、`Connection`、`Trailer`、`Upgrade`、`Proxy-Authorization`和`Proxy-Authenticate`,如[RFC 2616](https://tools.ietf.org/html/rfc2616#section-13.5.1)中定义。通过`Connection`头部可以将其他头部指定为逐跳头部。
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2024-02-06 04:10:34 +00:00
|
|
|
|
### 滥用逐跳头部
|
|
|
|
|
代理不正确处理逐跳头部可能导致安全问题。虽然预期代理会删除这些头部,但并非所有代理都会这样做,从而产生潜在的漏洞。
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2024-02-06 04:10:34 +00:00
|
|
|
|
### 测试逐跳头部处理
|
2024-02-07 04:49:09 +00:00
|
|
|
|
可以通过观察服务器响应的变化来测试逐跳头部的处理方式,当特定头部被标记为逐跳时。工具和脚本可以自动化此过程,识别代理如何管理这些头部,并可能发现配置错误或代理行为。
|
2020-07-15 15:43:14 +00:00
|
|
|
|
|
2024-02-06 04:10:34 +00:00
|
|
|
|
滥用逐跳头部可能导致各种安全问题。以下是一些示例,演示了如何操纵这些头部进行潜在攻击:
|
2020-07-15 15:43:14 +00:00
|
|
|
|
|
2024-02-06 04:10:34 +00:00
|
|
|
|
### 使用`X-Forwarded-For`绕过安全控制
|
2024-02-07 04:49:09 +00:00
|
|
|
|
攻击者可以操纵`X-Forwarded-For`头部来绕过基于IP的访问控制。此头部通常由代理使用来跟踪客户端的原始IP地址。但是,如果代理将此头部视为逐跳并在没有适当验证的情况下转发它,攻击者可以伪造其IP地址。
|
2020-07-15 15:43:14 +00:00
|
|
|
|
|
2024-02-06 04:10:34 +00:00
|
|
|
|
**攻击场景:**
|
|
|
|
|
1. 攻击者向代理后面的Web应用程序发送HTTP请求,包括在`X-Forwarded-For`头部中放入虚假IP地址。
|
2024-02-07 04:49:09 +00:00
|
|
|
|
2. 攻击者还包括`Connection: close, X-Forwarded-For`头部,促使代理将`X-Forwarded-For`视为逐跳。
|
|
|
|
|
3. 配置错误的代理将请求转发给Web应用程序,但不包含伪造的`X-Forwarded-For`头部。
|
|
|
|
|
4. Web应用程序未看到原始的`X-Forwarded-For`头部,可能将请求视为直接来自受信任代理,从而可能允许未经授权的访问。
|
2020-07-15 15:43:14 +00:00
|
|
|
|
|
2024-02-06 04:10:34 +00:00
|
|
|
|
### 通过逐跳头部注入进行缓存投毒
|
2024-02-07 04:49:09 +00:00
|
|
|
|
如果缓存服务器根据逐跳头部错误地缓存内容,攻击者可以注入恶意头部来投毒缓存。这将向请求相同资源的用户提供不正确或恶意内容。
|
2020-07-15 15:43:14 +00:00
|
|
|
|
|
2024-02-06 04:10:34 +00:00
|
|
|
|
**攻击场景:**
|
2024-02-07 04:49:09 +00:00
|
|
|
|
1. 攻击者发送带有不应缓存的逐跳头部的请求到Web应用程序(例如`Connection: close, Cookie`)。
|
|
|
|
|
2. 配置不良的缓存服务器不会删除逐跳头部,并缓存响应特定于攻击者的会话。
|
2024-02-06 04:10:34 +00:00
|
|
|
|
3. 请求相同资源的未来用户接收到缓存响应,该响应是为攻击者定制的,可能导致会话劫持或敏感信息泄露。
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2022-10-25 15:56:49 +00:00
|
|
|
|
<details>
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2024-02-07 04:49:09 +00:00
|
|
|
|
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2024-02-07 04:49:09 +00:00
|
|
|
|
* 您在**网络安全公司**工作吗?想要在HackTricks中看到您的**公司广告**?或者想要访问**PEASS的最新版本或下载HackTricks的PDF**?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
2024-02-06 04:10:34 +00:00
|
|
|
|
* 发现我们的独家[NFT收藏品**The PEASS Family**](https://opensea.io/collection/the-peass-family)
|
|
|
|
|
* 获取[**官方PEASS和HackTricks周边**](https://peass.creator-spring.com)
|
2024-02-07 04:49:09 +00:00
|
|
|
|
* **加入** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter**上**🐦**[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
2024-02-06 04:10:34 +00:00
|
|
|
|
* 通过向[hacktricks repo](https://github.com/carlospolop/hacktricks)和[hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)提交PR来分享您的黑客技巧。
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
|
|
|
|
</details>
|