Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
HTTPSignatures — Signing HTTP Messages draft-ietf-httpbis-message-signatures-01 ドラフトを実装する Burp Suite 拡張機能。 | Kitploit
ツール/GitHubGitHub/nccgroup/httpsignatures
ウェブプロキシと傍受APIセキュリティテストウェブセキュリティ暗号化認証APIセキュリティ
GitHubnccgroup/httpsignatures

HTTPSignatures

Signing HTTP Messages draft-ietf-httpbis-message-signatures-01 ドラフトを実装する Burp Suite 拡張機能。

リポジトリを見る
42104年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

HTTPSignatures Burp Suite 拡張機能

HTTPSignatures は、Signing HTTP Messages draft-ietf-httpbis-message-signatures-01 仕様草案を実装した Burp Suite 拡張機能です。 これにより、Burp Suite ユーザーは HTTP Signatures を必要とするアプリケーションをシームレスにテストできます。

機能

  • 拡張機能が既存の HTTP Signature ヘッダーを検出すると、Burp Repeater、Intruder、Scanner で新しい署名とダイジェストを自動的に作成します。
  • メッセージ署名用の rsa-sha256 アルゴリズム(RSASSA-PKCS1-v1_5 [RFC8017] を SHA-256 [RFC6234] で使用)、およびダイジェストヘッダー用の SHA-256 をサポートします。
  • この拡張機能は、Burp Suite Professional と無料の Burp Suite Community Edition の両方で動作します。

使い方

インストール

最新の JAR リリース ファイルをダウンロードし、Burp Suite の Extender タブ / Extensions / Add から追加します。

設定

  1. 拡張機能を読み込むと、Burp に新しい HTTP Signatures メニュー項目が追加されます。
  2. 設定タブを開きます(HTTP Signatures メニュー項目をクリックします)。
  3. 最小限の設定には、Header Name、keyId、Private key file name and path の設定が必要です。詳細は以下を参照してください。
  4. Burp Proxy、Repeater、Intruder、Scanner を利用できるようになります。 拡張機能は、設定された Header Name を含む各リクエストに対して新しい署名を生成します。

使用方法

HTTPSignatures が正しく設定されると、Burp Suite 拡張機能は、Burp Proxy、Repeater、Intruder、Scanner を介して送信されるすべての HTTP リクエストについて、Header Name 設定で構成された HTTP ヘッダー値(例: Signature)を新しい署名に置き換えます。

HTTPSignatures 設定

ドキュメント

Burp Suite 拡張機能は、使用する前に設定する必要があります。 HTTPSignatures 設定は、読み込み後に Burp メニューに表示されます(通常は Help メニューの右側)。 Header Name、keyId、Private key file name and path を正しく設定する必要があります。 残りの設定はオプションで調整できます。

  • ヘッダー名:(サンプル値: Authorization、Signature): 署名を含む HTTP リクエストヘッダーの名前。 IETF ドラフトは Signature ヘッダー名を使用しています。Oracle Cloud (OCI) は Authorization ヘッダー名を使用しています。

  • keyId: keyId パラメータは、検証者が署名の検証キーを識別および/または取得するために使用する US-ASCII 文字列です。 サンプル値は、https://mastodon.example.com/users/myUser(ActivityPub 用)や、OCI の場合は ocid1.tenancy.oc1.../ocid1.user.oc1.../{fingerprint} のようになります。

  • 秘密鍵のファイル名とパス: 秘密鍵を含む完全なパスとファイル名(例: /home/${USER}/private_key.pem)。

  • ダイジェストヘッダー名: ダイジェストを含むヘッダーの名前。これは、OCI の場合は x-content-sha256、その他のほとんどの実装では digest のいずれかです。

  • 署名対象ヘッダー名: GET: GET リクエストに含めるヘッダー名(例: date (request-target) host)。 の値は、リクエストメソッドとリクエスト URI のパスおよびクエリから構成される特別な識別子です(例: )。

プロファイル

HTTPSignatures 設定では、タブで複数のプロファイルを構成できます。 ... タブをクリックして新しいタブを作成します。 タブをダブルクリックすると、タブに名前を付けることができます。 タブを保存するには、「Save」ボタンをクリックします。 タブをアクティブなプロファイルとしてマークするには、「Use this profile」ボタンをクリックします。 アクティブなタブ(プロファイル)は、赤いフォントと枠線でマークされます。

グローバル設定

グローバル設定セクションには、すべてのプロファイルに適用される設定が含まれます。

  • 以下の Burp Suite ツールに対して拡張機能を有効にする: 拡張機能は、以下の Burp Suite ツールに対して有効または無効にできます:

    • Proxy(デフォルト: 無効)
    • Scanner(デフォルト: 有効)
    • Intruder(デフォルト: 有効)
    • Repeater(デフォルト: 有効)

    Proxy はデフォルトで無効です。他のツールはデフォルトで有効です。Proxy ツールは通常、インターセプト機能を使用する場合にのみ有効にしてください。拡張機能は、無効になっている間は署名を更新しません。

  • デバッグログを有効にする: このチェックボックスを有効にすると、デバッグログが標準出力に出力されます。 出力は、Burp Suite の Extender -> Extensions で Signing HTTP Messages 拡張機能を選択して設定できます。 Output タブでは、標準出力を表示する場所を選択できます。 デフォルトは Shown in UI で、出力は Burp Suite 内に表示されます。

設定例

ActivityPub

ActivityPub は、サーバー間の認証と認可 に HTTP Signatures を使用します。

  • ヘッダー名: Signature
  • keyId: publicKey フィールドを取得できるように、keyId はアクターにリンクする必要があります: https://mastodon.online/users/viktor。 curl を使用してキーを取得できます: curl https://mastodon.online/users/viktor -H 'Accept: application/activity+json'|jq
  • 秘密鍵のファイル名とパス: /home/user/private_key.pem
  • ダイジェストヘッダー名: digest
  • 署名対象ヘッダー名: GET: date (request-target) host
  • 署名対象ヘッダー名: HEAD: date (request-target) host
  • 署名対象ヘッダー名: DELETE: date (request-target) host
  • 署名対象ヘッダー名: PUT: date (request-target) host content-length content-type digest
  • 署名対象ヘッダー名: POST: date (request-target) host content-length content-type digest

Oracle Cloud Infrastructure (OCI)

すべての Oracle Cloud Infrastructure (OCI) API リクエストは HTTP Signatures を必要とします。 この実装は、いくつかの変更を加えたドラフト仕様に基づいています。

  • ヘッダー名: Authorization
  • keyId: <TENANCY OCID>/<USER OCID>/<KEY FINGERPRINT>(例: ocid1.tenancy.oc1..<unique_ID>/ocid1.user.oc1..<unique_ID>/<key_fingerprint>)
  • 秘密鍵のファイル名とパス: /home/user/private_key.pem
  • ダイジェストヘッダー名: x-content-sha256
  • 署名対象ヘッダー名: GET: date (request-target) host
  • 署名対象ヘッダー名: HEAD: date (request-target) host
  • 署名対象ヘッダー名: DELETE: date (request-target) host
  • 署名対象ヘッダー名: PUT: date (request-target) host content-length content-type x-content-sha256
  • 署名対象ヘッダー名: POST: date (request-target) host content-length content-type x-content-sha256
  • 署名にクエリパラメータを含める: true

IntelliJ IDEA を使用したビルド

  1. このリポジトリをクローンし、IntelliJ IDEA で HTTPSignatures フォルダを Open or Import します。
  2. プロジェクトをコンパイルします(Build -> Build Project)
  3. Burp Suite にインポートする JAR ファイルを作成します: File -> Project Structure に移動し、Project Settings -> Artifacts を選択します。
  4. プラス記号をクリックして、「From modules with dependencies」から新しい JAR ファイルを作成し、OK をクリックします。
  5. 「Include in project build」チェックボックスを選択して、プロジェクトのビルド時に JAR ファイルを自動的に作成し、OK をクリックします。
  6. プロジェクトを再度ビルドします(Ctrl+F9 または ⌘+F9)。
  7. JAR ファイルは、プロジェクトフォルダの out/artifacts/HTTPSignatures_jar/HTTPSignatures.jar に作成されます。
  8. Extender タブ -> Extensions -> Add から JAR ファイルを Burp に読み込みます。

Maven を使用したコマンドラインでのビルド

  1. このリポジトリをクローンします。
  2. コマンド mvn package assembly:single でプロジェクトをコンパイルし、JAR ファイルを作成します。
  3. JAR ファイルは、プロジェクトフォルダの target/HTTPSignatures-1.0-SNAPSHOT-jar-with-dependencies.jar に作成されます。
  4. Extender タブ -> Extensions -> Add から JAR ファイルを Burp に読み込みます。

依存関係

Java プロジェクトのビルドには 3 つの依存関係が必要です:

  • Apache HttpClient (https://hc.apache.org/httpcomponents-client-ga/)
  • Tomitribe の HTTP Signatures Java Client (https://github.com/tomitribe/http-signatures-java)
  • Burp Extender API (https://github.com/PortSwigger/burp-extender-api)
ツールをダウンロード
(request-target)
get /foo?param=value
  • 署名対象ヘッダー名: HEAD: HEAD リクエストに含めるヘッダー名(例: date (request-target) host)。

  • 署名対象ヘッダー名: DELETE: DELETE リクエストに含めるヘッダー名(例: date (request-target) host)。

  • 署名対象ヘッダー名: PUT: PUT リクエストに含めるヘッダー名(例: date (request-target) host content-length content-type digest)。

  • 署名対象ヘッダー名: POST: POST リクエストに含めるヘッダー名(例: date (request-target) host content-length content-type digest)。

  • 署名にクエリパラメータを含める: クエリパラメータ(例: ?param=value)を署名に含めるかどうかを指定するブール値です。 ドラフト標準ではクエリパラメータは (request-target) 識別子の一部であると規定されていますが、すべての実装がクエリパラメータを含めるわけではありません。 デフォルト値は true です。

  • 署名にポートを含める: 一部の実装では、host ヘッダーにポートを含めません(例: localhost:8080)。 この設定を false にすると、host ヘッダー値からポートを削除できます。 デフォルト値は true です。

  • 署名にクエリパラメータを含める: true
  • 署名にポートを含める: true
  • 署名にポートを含める: true