Skip to content

mimikero

Program / Security etc…

Menu
Menu

BurpSuite解説 Client-side desync attacks

Posted on 2024年8月24日2024年10月1日 by mimi

概要

脆弱性名(En)Client-side desync attacks
危険度High

説明

Client-side desync (CSD)攻撃は、通常のリクエストスマグリングとは異なり、ブラウザのHTTP接続をターゲットとする攻撃です。
攻撃者は、被害者のブラウザにマルウェアが含まれたリクエストを送信させ、それがサーバーとの接続を不整合にします。

この不整合により、攻撃者は攻撃リクエストをサーバーに送信し、第三者に悪意のあるレスポンスを誘発させることが可能です。

この攻撃は、HTTP/1.1のコネクション再利用機能を利用しており、主にHTTP/2をサポートしていないサーバーが脆弱となります。これにより、フロントエンドとバックエンドの構成に依存しない、新しいタイプの脅威が生じます。

Client-Side Desyncの歴史と具体例

リクエストスマグリングは、2005年頃に最初に発見され、その後、サーバーとクライアント間でリクエストを混在させる手法として進化してきました。
従来のスマグリング攻撃は、フロントエンドとバックエンドのサーバー間の不一致を利用していたため、特定のアーキテクチャに依存していました。

しかし、2020年代に入り、ブラウザのリクエスト処理における不整合をターゲットとしたClient-side desync 攻撃が登場しました。実例として、攻撃者が特定のウェブサーバーへのリクエストに悪意のあるプレフィックスを挿入し、被害者がそのプレフィックスに基づいて予期せぬレスポンスを受け取るケースがあります。

リスク

攻撃者の後半のリクエストの結果が被害者のレスポンスに出力

Client-side desync の脆弱性を悪用されると、攻撃者はサーバーとクライアント間の通信を不正に操作し、被害者のブラウザを通じて悪意のあるリクエストを送信することができます。

これにより、クロスサイトスクリプティング(XSS)、キャッシュポイズニング、さらには機密情報の漏洩が発生する可能性があります。

また、この攻撃は単一サーバーに対しても実行できるため、従来のサーバー構成に依存しない点でより広範囲のシステムに影響を与えるリスクが高いです。

検出トリガー

  • Request1・Request2で送信した結果のレスポンスに相違がある場合に検出します。

特に、リクエストのContent-LengthやTransfer-Encodingヘッダーを操作することで、サーバーが異なる解釈をし、予期しないレスポンスを返すかどうかをチェックします。

詳しい検証方法については、Client-side desync 検証環境を作成し、BurpSuiteでテストしてみる をご参照ください。

対策

HTTPヘッダーの厳密な検証と入力制御

リクエストヘッダー Content-LengthやTransfer-Encodingの値を厳密に検証を行います。

攻撃者がこれらのヘッダーを利用してリクエストを分割しようとすることがあるため、ヘッダーの値が一致しているかを確認し、異常なリクエストがサーバーに到達する前にフィルタリングすることが重要です。

HTTP/2対応のサーバーにアップグレード

HTTP/1.1のコネクション再利用機能がCSD攻撃の中心的な脆弱性の一つです。HTTP/2では、リクエストの取り扱い方法が異なり、同様の攻撃を防ぐ仕組みが組み込まれています。
HTTP/2に対応することで、クライアントとサーバー間のリクエスト同期の不整合を避けることができます。

製品の定期的なアップデートとセキュリティパッチの適用

Webサーバーソフトウェアの定期的な更新を行うことで、リスクが軽減される可能性があります。
例えば、プロキシサーバーとして使用されるHAProxyにて、 バージョン 1.7.9等のバージョンで当脆弱性が存在しますが、最新バージョンにアップデートを行うことで対策されます。

関連リンク

危険度が脆弱性ツールによって異なる場合があります。

Burp Documentshttps://portswigger.net/web-security/request-smuggling/browser/client-side-desync
GitHub Advisory Databasehttps://github.com/advisories/GHSA-7r84-r685-grmg
CVEhttps://nvd.nist.gov/vuln/detail/CVE-2019-18277

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

CAPTCHA


email confirm*

post date*

ads

trends post

Spring Boot と Spring Framework バージョン 対応表まとめ(SpringBoot v2,v3)

Excelデータのスクロールバーが短い現象を保存を使わずに直す

エックスサーバーにLaravelプロジェクトをデプロイ

latest post

  • Cockpit-Docker をubuntu20にインストールする
  • PHPのProcessで日本語パラメータを扱うとsurrogates not allowed となる
  • XServerでexecやshell_execを実行すると、Unable to forkとエラーが出るとき
  • tenable解説 混合リソースの検出
  • tenable解説 WebDAV
  • tenable解説 ディレクトリリスト
  • tenable解説 暗号化されていないパスワードフォーム
  • tenable解説 オートコンプリートのパスワードフィールド
  • tenable解説 CVS/SVN ユーザーの漏洩
  • tenable解説 プライベート IP アドレスの漏洩
  • tenable解説 メールアドレスの漏洩
  • tenable解説 バックアップファイル
  • tenable解説 バックアップディレクトリ
  • tenable解説 共通ファイルの検出
  • tenable解説 共通ディレクトリの検出

カテゴリー

  • Authentication & Session
  • BurpSuite
  • Component Vulnerability
  • Data Exposure
  • HTTP Security Header
  • Lodash
  • Moment.js
  • tenable
  • Web Applications
  • Web Servers
  • 未分類
  • 脆弱性解説
©2025 mimikero | WordPress Theme by Superbthemes.com