hacktricks/src/pentesting-web/http-connection-contamination.md

24 lines
2.6 KiB
Markdown

# HTTP Connection Contamination
{{#include ../banners/hacktricks-training.md}}
**これは投稿の要約です: [https://portswigger.net/research/http-3-connection-contamination](https://portswigger.net/research/http-3-connection-contamination)**. 詳細はそちらを確認してください!
ウェブブラウザは、共有IPアドレスと共通のTLS証明書がある場合、[HTTP接続のコアレッシング](https://daniel.haxx.se/blog/2016/08/18/http2-connection-coalescing)を通じて異なるウェブサイトのために単一のHTTP/2+接続を再利用できます。しかし、これは**ファーストリクエストルーティング**と逆プロキシで衝突する可能性があり、後続のリクエストが最初のリクエストによって決定されたバックエンドに送信されます。この誤ルーティングは、特にワイルドカードTLS証明書や`*.example.com`のようなドメインと組み合わせると、セキュリティの脆弱性を引き起こす可能性があります。
例えば、`wordpress.example.com``secure.example.com`が同じ逆プロキシによって提供され、共通のワイルドカード証明書を持っている場合、ブラウザの接続コアレッシングにより、`secure.example.com`へのリクエストが誤ってWordPressバックエンドによって処理され、XSSのような脆弱性を悪用される可能性があります。
接続コアレッシングを観察するには、ChromeのネットワークタブやWiresharkのようなツールを使用できます。テスト用のスニペットは以下の通りです:
```javascript
fetch("//sub1.hackxor.net/", { mode: "no-cors", credentials: "include" }).then(
() => {
fetch("//sub2.hackxor.net/", { mode: "no-cors", credentials: "include" })
}
)
```
脅威は現在、最初のリクエストルーティングの稀少性とHTTP/2の複雑さにより制限されています。しかし、IPアドレスの一致要件を緩和するHTTP/3の提案された変更は、攻撃面を広げ、MITM攻撃を必要とせずにワイルドカード証明書を持つサーバーをより脆弱にする可能性があります。
ベストプラクティスには、リバースプロキシでの最初のリクエストルーティングを避け、特にHTTP/3の登場に伴い、ワイルドカードTLS証明書に注意することが含まれます。これらの複雑で相互に関連する脆弱性についての定期的なテストと認識は、ウェブセキュリティを維持するために重要です。
{{#include ../banners/hacktricks-training.md}}