Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
h2spacex — HTTP/2 最終フレーム同期(別名 Single Packet Attack)Scapy ベースの低レベルライブラリ / ツール + Exploit タイミング攻撃 | Kitploit
ツール/GitHubGitHub/nxenon/h2spacex
パケットスニッフィングと分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティファジングネットワークセキュリティペネトレーションテストユーティリティとフレームワーク論文と研究
GitHubnxenon/h2spacex

h2spacex

HTTP/2 最終フレーム同期(別名 Single Packet Attack)Scapy ベースの低レベルライブラリ / ツール + Exploit タイミング攻撃

2291943ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
リポジトリを見るウェブサイト
共有

H2SpaceX   H2SpaceX

pypi: 1.2.2 Python: 3.8.8 License: GPL v3

Scapy をベースにした HTTP/2 低レベルライブラリで、Single Packet Attack(H2 上の Race Condition)に使用できます。

  • このライブラリは、QUIC-er Races: HTTP/3 won’t save you from TOCTOU vulnerabilities というタイトルの学術研究の一部でした。

Single Packet Attack の記事を読む

記事を執筆し、InfoSec Write-ups で公開しました:

  • Dive into Single Packet Attack

TODO

  • Single Packet Attack - POST
    • 実装
  • Single Packet Attack - GET
    • Content-Length: 1 メソッド
    • x-override-method: GET ヘッダーを使用した POST リクエスト
  • レスポンスのパース
    • 実装
    • スレッド化されたレスポンスパーサーの実装
    • タイミング攻撃用にレスポンスタイムをナノ秒単位で追加
    • ボディの展開
      • gzip
      • br
      • deflate
  • プロキシ
    • Socks5 プロキシ

変更履歴 & ベータ版

  • 1.2.2

    • パッケージング: ビルド設定を pyproject.toml に統合し、setup.py を削除
      • 無効な [options] セクションを修正し、パッケージ検出が正しく定義されるようにした
      • 古い setup.py のタイポで失われていた dev エクストラ(twine)を公開
    • コードのクリーンアップ
      • 未使用のインポートと、GET リクエストビルダー内の冗長なヘッダー正規化呼び出しを削除
      • GET リクエストが check_headers_lowercase=False を尊重するようになった(他のリクエストメソッドと一貫)
    • tests/(ヘッダーユーティリティの単体テスト)と CONTRIBUTING.md(ビルド & リリースガイド)を追加
  • 1.2.1

    • PR-6 をマージ
      • H2Connection 用の setup_connection を実装(TLS なし)
    • PR-7 をマージ
      • 正規表現ではなく Parser を使用して HTTP ヘッダー名を正規化
    • Issue 8 を修正
      • 生データフレーム(パケット)のパース問題

さらなる研究

以下の記述の一部は単なるアイデアであり、テストや実装はされていません。

  • 単一パケット内のより多くのリクエスト
    • MSS の増加(James Kettle によるアイデア)
    • 順序外の TCP パケット(James Kettle によるアイデア)
    • IP フラグメンテーション
  • SOCKS 経由で Single Packet Request をプロキシする
  • GET リクエストに対する Single Packet Attack
    • Content-Length: 1 メソッド(James Kettle によるアイデア)
    • x-override-method: GET メソッド(James Kettle によるアイデア)
    • GET リクエストを小さくするために HPACK ヘッダーをインデックス化する
    • END_HEADER フラグなしの HEADERS フレーム
    • 一部の疑似ヘッダーなしの HEADERS フレーム

インストール

H2SpaceX は Python 3 で動作します(推奨: >=3.8.8)

pip install h2spacex

インストール時のエラー

scapy のエラーが発生する場合:

pip install --upgrade scapy

クイックスタート

HTTP/2 TLS 接続をインポートして接続をセットアップできます。接続をセットアップした後、他の操作を実行できます:

from h2spacex import H2OnTlsConnection

h2_conn = H2OnTlsConnection(
    hostname='http2.github.io',
    port_number=443,
    ssl_log_file_path="PATH_TO_SSL_KEYS.log"  # optional (if you want to log ssl keys to read the http/2 traffic in wireshark)
)

h2_conn.setup_connection()
...

その他の例は Wiki ページ を参照してください

例

Portswigger のレースコンディションの例を含むサンプルを参照してください。

Examples ページ

タイミング攻撃向けの強化された Single Packet Attack メソッド(Black Hat 2024)

James Kettle は Black Hat 2024 でタイミング攻撃向けに改良版 Single Packet Attack を紹介しました:

Impvoved Version Image

send_ping_frame() メソッドを使用してこのメソッドを簡単に実装できます。

この Wiki と Parse Response (Threaded) + Response Times for Timing Attacks の部分を参照してください:

  • New Method README (WIKI)

改良版 SPA サンプルエクスプロイト

改良メソッドの参考:

  • Listen to the whispers: web timing attacks that actually work

参考資料 & リソース

  • James Kettle DEF CON 31 プレゼンテーション
  • Portswigger Research ページ
  • HTTP/2 in Action 書籍

以前に開発されたライブラリ h2tinker からもいくつかのアイデアを得ました。

最後に、直接支援し、いくつかの他のテクニックを指摘してくれた James Kettle に改めて感謝します。

ツールをダウンロード