Shikata Ga Nai

Private? There is no such things.

Burp Repeater の新機能でリミットオーバーラン競合状態を効率的に悪用する方法

Hello there, ('ω')ノ

🔧 Burp Repeater の新機能とは?

Burp Suite 2023.9では、Repeater に以下のような高精度な並列リクエスト送信機能が追加されました:

HTTPバージョン 使用される技術
HTTP/1 最後のバイト同期(Last-byte synchronization)
HTTP/2 シングルパケット攻撃(Single-packet attack)

🧨 シングルパケット攻撃とは?

📝 定義:

複数のリクエストを1つのTCPパケットで同時に送信することで、ネットワーク遅延(jitter)を完全に無効化する技術です。

  • Burp Suiteが自動的にHTTP/2サーバーに対してこの方式を使用。
  • PortSwigger ResearchがBlack Hat USA 2023で初めて発表した手法。
  • 一度に20〜30のリクエストを「完全に同時」に処理可能。

🎯 メリット:

  • ネットワークの予測不可能な遅延の影響を受けずに、完全な競合状態を作り出せる。
  • **内部レイテンシ(サーバー内の処理時間のばらつき)**への対策にも有効。
  • 探索フェーズにおいて、脆弱性の有無を効率よく見つけるのに最適。

🚀 実践ステップ:Burp Repeaterでシングルパケット攻撃を使う

  1. Burp Repeaterに攻撃対象のリクエストを準備。
  2. 同じリクエストを20〜30個複製
  3. 画面右上の「Parallel」ボタンで並列送信モードに切り替え。
  4. 「Send group」ボタンで一括同時送信

Burpは内部でHTTPバージョンを判断し、適切な手法を自動で適用します。


🔍 攻略のコツ:成功率を上げるために

テクニック 解説
リクエスト数を増やす 2回だけではなく20回程度送ると競合が発生しやすい
Parallelモードの活用 クリック間隔ではなく「本当に同時」に送れる
成功後のレスポンス比較 成功した場合だけレスポンスの構造や内容が変化することが多い
Turbo Intruderとの併用も◎ Repeaterよりさらに高度なタイミング調整が可能

🛡 防御側の視点:これにどう対処する?

  • アトミックトランザクション:処理の中断を許さない一括実行。
  • **データベース制約(UNIQUE + INSERT IGNORE)**の活用。
  • サーバー側での明示的なロック機構を導入。

🎓 最新のBurp機能を使いこなすことで、競合状態の発見率と再現率が格段に向上します。特に「一見タイミングのシビアな脆弱性」ほど、この手法の真価が発揮されます。

Best regards, (^^ゞ