
Burp Suiteの拡張機能で、HTTPリクエストスマグリングの脆弱性を自動検出・悪用するためのもの。HTTP/1.1およびHTTP/2ダウングレードデシンク攻撃をサポートし、パーサーの不一致を検出する。
このBurp Suite拡張機能は、PortSwiggerの研究者James Kettleによって開発された高度な非同期化技術を使用して、HTTPリクエストスマグリングの脆弱性を自動的に検出し、悪用します。HTTP/1.1およびHTTP/2ダウングレードのデシンク脆弱性、クライアントサイドデシンク、および接続状態攻撃の包括的なスキャンをサポートします。
バージョン3.0は2025年にリリースされ、パーサーの不一致検出を追加しました。これにより、広く使われているデシンク防御を回避し、効果が大幅に向上しています。詳細については、ホワイトペーパーHTTP/1.1 Must Die: The Desync Endgameを参照してください。
Burp Suite DAST、Professional、Communityエディションと完全に互換性があります。ProおよびCommunityエディションには、新しい技術を探求するための「研究モード」があり、DAST統合は、新しい脅威がリリースされたらすぐにフラグを立てる定期的なスキャンに役立ちます。
最も簡単なインストール方法は、Burp Suiteで Extender -> BApp Store を介して行うことです。
JARを手動でロードする場合は、Burp Suite(CommunityまたはPro)で Extender -> Extensions -> Add を使用して build/libs/http-request-smuggler-all.jar をロードします。
Turbo Intruder はこのプロジェクトの依存関係です。ソースツリーのルートに turbo-intruder-all.jar として追加してください。
以下のコマンドでビルドします。
Linux: ./gradlew build fatjar
Windows: gradlew.bat build fatjar
出力は build/libs/desynchronize-all.jar から取得します。
リクエストを右クリックし、Launch Smuggle probe をクリックします。その後、Organizerと拡張機能の出力ペイン(Extender->Extensions->HTTP Request Smuggler)を確認します。
Burp Proを使用している場合、発見された内容はスキャン問題としても報告されます。
チャンクエンコーディングを使用するリクエストを右クリックすると、Launch Smuggle attack という別のオプションが表示されます。これにより、prefix 変数を編集してさまざまな攻撃を試すことができるTurbo Intruderウィンドウが開きます。
より高度な使用法については、ビデオをご覧ください。
練習用の無料オンラインラボを公開しています。ツールを使用して最初のラボ(HTTP request smuggling, basic CL.TE vulnerability)を解決する方法は次のとおりです。
ステップ7で「prefix」変数を変更することで、すべてのラボおよび実質的にすべての実際のシナリオを解決できます。