彼らは、HTTPリクエストスマグリング攻撃の新しいバージョンを発見しました

たくさん フロントエンドがHTTP / 2経由の接続を受け入れるWebシステム HTTP /1.1hを介してバックエンドに渡します「HTTPリクエストスマグリング」攻撃の新しいバージョンにさらされており、 これにより、特別に設計されたクライアントリクエストを送信することで、フロントエンドとバックエンドの間で同じフローで処理される他のユーザーのリクエストのコンテンツを分割できます。

攻撃 悪意のあるJavaScriptコードを挿入するために使用できます 正当なサイトとのセッションでは、アクセス制限システムをバイパスし、認証パラメータを傍受します。

研究の著者 Netflix、Verizon、Bitbucket、Netlify CDN、およびAtlassianシステムを攻撃する可能性を示しました、および脆弱性を特定するための報酬プログラムで56.000ドルを受け取りました。 この問題は、F5ネットワークス製品でも確認されています。

問題 Apachehttpサーバーのmod_proxyに部分的に影響します (CVE-2021-33193)、バージョン2.4.49で修正が予定されています(開発者は3月上旬に問題を通知され、修正に1.21.1か月かかりました)。 nginxでは、「Content-Length」ヘッダーと「Transfer-Encoding」ヘッダーを同時に指定する機能は、以前のバージョン(XNUMX)ではブロックされていました。

新しい方法の動作原理 トラフィック内の一致するリクエストの数 XNUMX年前に同じ研究者によって発見された脆弱性に似ています、ただし、HTTP /1.1を介したリクエストを受け入れるインターフェースに限定されます。

従来の「HTTPリクエストスマグリング」攻撃は、フロントエンドとバックエンドがHTTP「Content-Length」ヘッダーの使用を異なる方法で解釈し(リクエスト内のデータの合計サイズを決定する)、「Transfer-Encoding:chunked」(チャンク)という事実に基づいていました。データをチャンクで転送できます)..。

たとえば、インターフェースが「Content-Length」のみをサポートし、「Transfer-Encoding:Fragmented」を無視する場合、攻撃者はヘッダー「Content-Length」と「Transfer-Encoding:Fragmented」を含むリクエストを送信できますが、サイズはja「コンテンツの長さ」がチャンクされた文字列のサイズと一致しません。 この場合、フロントエンドは「コンテンツの長さ」に従ってリクエストを処理およびリダイレクトし、バックエンドは「転送エンコーディング:チャンク」に基づいてブロックが完了するのを待ちます。

行レベルで解析されるテキストのHTTP / 1.1プロトコルとは異なり、 HTTP / 2はバイナリプロトコルであり、ブロックを操作します 所定のサイズのデータ​​。 ただし、HTTP / 2 疑似ヘッダーを使用する これは通常のHTTPヘッダーに対応します。 バックエンドと対話するとき HTTP / 1.1プロトコルを使用して、 フロントエンドはこれらの疑似ヘッダーを変換します 同様のHTTP / 1.1HTTPヘッダー。 問題は、バックエンドが送信の分析について決定を下すことです。 フロントエンドによって設定されたHTTPヘッダーに基づいて、 元のリクエストのパラメータを知らなくても。

疑似ヘッダーの形式でも、値 「Content-length」と「transfer-encoding」 HTTP / 2では使用されませんが、すべてのデータのサイズは別のフィールドで決定されるため、ストリーミングできます。 ただし、HTTP / 2リクエストをHTTP / 1.1に変換する場合、これらのヘッダーは通過し、バックエンドを混乱させる可能性があります。

H2.TEとH2.CLのXNUMXつの主な攻撃オプションがあります、バックエンドが誤った転送エンコーディングまたはHTTP / 2プロトコルを介してフロントエンドによって受信されたリクエストボディの実際のサイズに対応しないコンテンツの長さの値によってだまされます。

H2.CL攻撃の例として、疑似ヘッダーに誤ったサイズが指定されています リクエスト送信時のコンテンツの長さ NetflixへのHTTP / 2。 このリクエストにより、ヘッダーが追加されます HTTPコンテンツの長さ HTTP / 1.1を介してバックエンドにアクセスする場合も同様ですが、サイズが コンテンツ長 が実際よりも小さい場合、キュー内のデータの一部が次のリクエストの開始として処理されます。

攻撃ツールはすでにBurpのツールキットに追加されており、TurboIntruder拡張機能として利用できます。 Webプロキシ、ロードバランサー、Webアクセラレータ、コンテンツ配信システム、およびリクエストがフロントエンド-バックエンドスキームでリダイレクトされるその他の構成は、問題の影響を受けやすくなっています。

出典 https://portswigger.net


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。