# hop-by-hop headers
{% hint style="success" %}
Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}
[**RootedCON**](https://www.rootedcon.com/) は **スペイン** で最も関連性の高いサイバーセキュリティイベントであり、**ヨーロッパ** で最も重要なイベントの一つです。**技術知識の促進**を使命とし、この会議はあらゆる分野の技術とサイバーセキュリティの専門家が集まる熱い交流の場です。
{% embed url="https://www.rootedcon.com/" %}
***
**これは投稿の要約です** [**https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers**](https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers)
Hop-by-hop ヘッダーは、特定のトランスポートレベルの接続に特有で、主に HTTP/1.1 で二つのノード(クライアント-プロキシやプロキシ-プロキシ)間のデータを管理するために使用され、転送されることを意図していません。標準の hop-by-hop ヘッダーには、`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` ヘッダーを介して hop-by-hop として指定できます。
### Abusing Hop-by-Hop Headers
プロキシによる hop-by-hop ヘッダーの不適切な管理は、セキュリティ問題を引き起こす可能性があります。プロキシはこれらのヘッダーを削除することが期待されていますが、すべてのプロキシがそうするわけではなく、潜在的な脆弱性を生じさせます。
### Testing for Hop-by-Hop Header Handling
特定のヘッダーが hop-by-hop としてマークされるときのサーバーの応答の変化を観察することで、hop-by-hop ヘッダーの処理をテストできます。ツールやスクリプトを使用してこのプロセスを自動化し、プロキシがこれらのヘッダーをどのように管理しているかを特定し、誤設定やプロキシの動作を明らかにすることができます。
Hop-by-hop ヘッダーを悪用することは、さまざまなセキュリティの影響を引き起こす可能性があります。以下は、これらのヘッダーが潜在的な攻撃のためにどのように操作されるかを示すいくつかの例です。
### Bypassing Security Controls with `X-Forwarded-For`
攻撃者は `X-Forwarded-For` ヘッダーを操作して、IPベースのアクセス制御を回避できます。このヘッダーは、プロキシがクライアントの発信元IPアドレスを追跡するために使用されることが多いです。しかし、プロキシがこのヘッダーを hop-by-hop として扱い、適切な検証なしに転送すると、攻撃者は自分のIPアドレスを偽装できます。
**攻撃シナリオ:**
1. 攻撃者は、プロキシの背後にあるWebアプリケーションに対して、`X-Forwarded-For` ヘッダーに偽のIPアドレスを含むHTTPリクエストを送信します。
2. 攻撃者は `Connection: close, X-Forwarded-For` ヘッダーも含め、プロキシに `X-Forwarded-For` を hop-by-hop として扱うよう促します。
3. 誤設定されたプロキシは、偽装された `X-Forwarded-For` ヘッダーなしでリクエストをWebアプリケーションに転送します。
4. Webアプリケーションは、元の `X-Forwarded-For` ヘッダーを見ていないため、リクエストが信頼されたプロキシから直接来たものと見なす可能性があり、無許可のアクセスを許可する可能性があります。
### Cache Poisoning via Hop-by-Hop Header Injection
キャッシュサーバーが hop-by-hop ヘッダーに基づいてコンテンツを誤ってキャッシュすると、攻撃者は悪意のあるヘッダーを注入してキャッシュを汚染する可能性があります。これにより、同じリソースを要求するユーザーに誤ったまたは悪意のあるコンテンツが提供されます。
**攻撃シナリオ:**
1. 攻撃者は、キャッシュされるべきでない hop-by-hop ヘッダー(例: `Connection: close, Cookie`)を含むリクエストをWebアプリケーションに送信します。
2. 不適切に設定されたキャッシュサーバーは、hop-by-hop ヘッダーを削除せず、攻撃者のセッションに特化した応答をキャッシュします。
3. 同じリソースを要求する将来のユーザーは、攻撃者向けに調整されたキャッシュされた応答を受け取り、セッションハイジャックや機密情報の露出につながる可能性があります。
[**RootedCON**](https://www.rootedcon.com/) は **スペイン** で最も関連性の高いサイバーセキュリティイベントであり、**ヨーロッパ** で最も重要なイベントの一つです。**技術知識の促進**を使命とし、この会議はあらゆる分野の技術とサイバーセキュリティの専門家が集まる熱い交流の場です。
{% embed url="https://www.rootedcon.com/" %}
{% hint style="success" %}
Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}