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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
XSW — XML Signature Wrapping Burp Suite 拡張機能 | Kitploit
ツール/GitHubGitHub/d0ge/xsw
脆弱性スキャナーエクスプロイトウェブアプリケーション悪用APIセキュリティテストウェブセキュリティペネトレーションテストアイデンティティ&アクセス管理 (IAM)認証レッドチーミング
GitHubd0ge/xsw

XSW

XML Signature Wrapping Burp Suite 拡張機能

239510ヶ月前Kitploit レビュー済み
リポジトリを見る

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

XML Signature Wrapping (XSW) Burp Suite 拡張機能

XSW Burp Suite 拡張機能は、SAML エンドポイントにおける Signature Wrapping 脆弱性の調査プロセスを自動化します。

使用方法

  1. Burp Suite で認証リクエストを右クリックし、「WRAP Attack」を選択します。
  2. ダイアログのパラメータを設定し、テストを開始します。
  3. 拡張機能は複数の細工された XML ペイロードを自動生成し、ターゲットエンドポイントに送信します。
  4. 結果は Burp Suite の Extensions Organizer タブに記録され、詳細な分析に利用できます。

設定

  • Name ID - なりすますユーザー ID(通常はメールアドレス)。
  • Assertion URL (target) - 任意。 AuthnRequest にまだ含まれていない場合にターゲットとする Assertion Consumer Service (ACS) URL。
  • Metadata URL (signed XML source) - 任意。 署名済みメタデータドキュメントの URL(通常は IdP の署名済みメタデータ)。
  • Timeout - 任意。 リクエスト間の遅延(ミリ秒単位)。
  • Always Refresh Metadata - 任意。 有効にすると、拡張機能はテストケースごとに新しい署名済みメタデータドキュメントを取得します。

攻撃

この拡張機能は、以下を含む複数のクラスの Signature Wrapping 脆弱性を調査します:

  • Attribute Pollution - libxml2 と REXML 間のパーサーの差異。
  • Namespace Confusion - 名前空間の再定義とプレフィックスの曖昧さに基づくバイパス。
  • Void Canonicalization - libxml2 の c14n の制限を悪用。

サンプル

Golden-SAMLResponse.xml

参考

この拡張機能は SAMLRaider 拡張機能に触発され、 以下の研究論文で紹介された技術に基づいています: The Fragile Lock: Novel Bypasses for SAML Authentication by Zak Fedotkin

デモ

以下の gitlab-ee:17.8.4 docker-compose プロジェクトは、デモ目的のみでこの問題を再現するために使用できます。 以下を自身の IdP の値に置き換えてください:

  • idp_cert_fingerprint: "<idp_cert_fingerprint>"
  • idp_sso_target_url: "<idp_sso_target_url>"
version: '3.6'
services:
  gitlab:
    image: gitlab/gitlab-ee:17.8.4-ee.0
    container_name: gitlab
    restart: always
    hostname: 'gitlab.lab.local'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'https://gitlab.lab.local'
        nginx['listen_port'] = 443
        nginx['redirect_http_to_https'] = true
        nginx['ssl_certificate'] = "/etc/ssl/certs/gitlab/server-cert.pem"
        nginx['ssl_certificate_key'] = "/etc/ssl/certs/gitlab/server-key.pem"
        nginx['ssl_protocols'] = "TLSv1.1 TLSv1.2"
        nginx['logrotate_frequency'] = "weekly"
        nginx['logrotate_rotate'] = 52
        nginx['logrotate_compress'] = "compress"
        nginx['logrotate_method'] = "copytruncate"
        nginx['logrotate_delaycompress'] = "delaycompress"
        gitlab_rails['gitlab_shell_ssh_port'] = 2424
        gitlab_rails['omniauth_allow_single_sign_on'] = ['saml']
        gitlab_rails['omniauth_block_auto_created_users'] = false
        gitlab_rails['omniauth_auto_link_saml_user'] = true
        gitlab_rails['omniauth_providers'] = [
          {
            name: "saml",
            label: "Okta login",
            args: {
              assertion_consumer_service_url: "https://gitlab.lab.local/users/auth/saml/callback",
              idp_cert_fingerprint: "<idp_cert_fingerprint>",
              idp_sso_target_url: "<idp_sso_target_url>",
              issuer: "https://gitlab.lab.local",
              name_identifier_format: "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"
            }
          }
        ]
    ports:
      - '80:80'
      - '443:443'
      - '2424:22'
    volumes:
      - '/srv/gitlab/config:/etc/gitlab'
      - '/srv/gitlab/logs:/var/log/gitlab'
      - '/srv/gitlab/data:/var/opt/gitlab'
      - './volume_data/ssl:/etc/ssl/certs/gitlab'
    shm_size: '256m'
ツールをダウンロード