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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-22352 — CVE-2025-22352 の PoC | Kitploit
ツール/GitHubGitHub/dottak/cve-2025-22352
脆弱性分析コード分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト
GitHubdottak/cve-2025-22352

CVE-2025-22352

CVE-2025-22352 の PoC

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

人気

すべて見る →

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

すべてのツールを探索

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

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

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

WordPressプラグイン

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

コンポーネント名 ELEX WooCommerce Advanced Bulk Edit Products, Prices & Attributes

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

コンポーネントスラッグ elex-bulk-edit-products-prices-attributes-for-woocommerce-basic

コンポーネントリンク https://wordpress.org/plugins/elex-bulk-edit-products-prices-attributes-for-woocommerce-basic/

3️⃣ OWASP 2017: TOP 10

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

脆弱性タイプ SQLインジェクション(ブラインドSQLインジェクション)

4️⃣ 前提条件

ショップマネージャー または 管理者

5️⃣ 脆弱性の詳細

👉 簡単な説明

ELEX WooCommerce Advanced Bulk Edit Products, Prices & Attributesプラグインは、商品の一括編集をサポートするプラグインです。

このプラグインで商品を一括編集する際、フィルタリングによって対象が選択され、その過程で、商品フィルタリングリクエスト時に送信される一部のデータがSQLクエリに直接挿入されることでSQLインジェクションの脆弱性が発生します。

ただし、SQLクエリの結果を直接確認することはできず、クエリ結果の真偽を判定することでデータを抽出するブラインドSQLインジェクションの形で脆弱性が存在します。

👉 再現方法(PoC)

  1. ダッシュボードのWooCommerceメニューから「Bulk Edit Products」(/wp-admin/admin.php?page=eh-bulk-edit-product-attr)に移動します。
  2. 商品フィルタリング項目の中から「Product Regular Price」のセレクトタグで「==」を選択します。
  3. テキスト入力フォームに「1 OR 1=1」と入力します(シングルクォーテーション(')は除く)。
  4. 下部の「Preview Filtered Products」ボタンをクリックすると、全ての商品が表示されます。
  5. 一方、同じ入力フォームに「1 OR 1=2」と入力すると、商品は一切表示されません。
  6. これにより、SQLクエリ条件の真偽に応じてレスポンスデータが異なることを確認できます。

👉 追加情報(オプション)

[脆弱性の根本原因]

上記PoCの説明でリクエストされた機能(「Preview Filtered Products」)を実行すると、以下のようなパケットが生成されます。

image

このパケットがリクエストされると、/wp-content/plugins/elex-bulk-edit-products-prices-attributes-for-woocommerce-basic/includes/elex-ajax-apifunctions.php ファイル内の elex_bep_filter_products 関数が呼び出されます。

リクエストデータからSQLインジェクションペイロードを含む desired_price の値が、以下の流れでSQLクエリとして実行されます。

  1. SQLインジェクションペイロードを含む desired_price の値が直接クエリ条件句に渡され、変数 $price_query に代入されます。

    product_title_text や range も直接クエリに渡されますが、PoCでは desired_price にSQLインジェクションペイロードを渡したため、ここでは desired_price のみ説明します。

    root@kitploit:~
    // elex-ajax-apifunctions.php at line 1280
    $price_query = " AND meta_key='_regular_price' AND meta_value {$filter_range} {$data_to_filter['desired_price']} ";
    

    image

  2. その後、変数 $price_query が変数 $sql に追加され(1365行目、#1)、変数 $sql と文字列 AND および変数 $product_type_condition によって変数 が初期化されます(1379行目、#2)。

image

したがって、SQLインジェクションペイロードを含むリクエストパラメータ desired_price は、$wpdb->prepare( '%1s', $main_query ) 文の $main_query に含まれます。このとき、%1s フォーマット指定子は $main_query の値をそのまま渡すため、SQLインジェクションペイロードがエスケープされずにクエリに挿入され、SQLインジェクションの脆弱性が発生します。

[PoCコードの実装と実行]

⚠️ PoCコードは、商品管理アカウントを使用してブラインドSQLインジェクションを悪用し、データベース名を取得するように実装されています。

  1. PoCコードをエディタで開き、WordPressサイトのアドレスと商品管理アカウントの認証情報を入力します。

image

  1. 次に、以下のコマンドを入力してPoCコードを実行します。

    必要なモジュール requests

    root@kitploit:~
    python poc.py
    

    image

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

video

7️⃣ 参考文献

  • https://nvd.nist.gov/vuln/detail/CVE-2025-22352
ツールをダウンロード
$main_query

変数 $sql は elex-ajax-apifunctions.php の1257行目で初期化されています。

image

  • 最後に、変数 $main_query が以下のように prepare 関数の引数として渡され、データベースクエリが実行されます。