
cve-2026-48907 スキャナー
Joomla! JCE Editor < 2.9.99.5 用のシングルファイル・セルフコンテインドスキャナー — 認証不要リモートコード実行 (CVE-2026-48907)
作成者: Alma
[!CAUTION]
🚨 免責事項 — 使用前にお読みください
これは侵入的なセキュリティテストツールです。
THIS TOOL IS FOR AUTHORIZED SECURITY ASSESSMENTS ONLY. Scanning systems you do NOT own or have WRITTEN PERMISSION to test is ILLEGAL in most jurisdictions. The author (Hussein Mohamed masta ghimau) accepts ABSOLUTELY NO liability for any misuse, damage, legal action, or data loss arising from the use of this tool. By running this scanner you agree to: Only scan assets YOU OWN or have EXPLICIT WRITTEN CONSENT. Understand that uploads a harmless POC PHP file to the target server as part of the intrusive accuracy check. Manually delete every uploaded POC file immediately after use. USE AT YOUR OWN RISK.
[!IMPORTANT] 「侵入的」であることが精度に重要な理由: 最高の信頼性を達成し、誤検知を排除するために、このツールは ライブの数学検証ペイロードテスト を実行します。安全な PHP 概念実証コード行をアップロードし、サーバーが返す正確な計算結果を検証することでリモートコード実行を確認します。バージョン文字列のみを読み取る非侵入型スキャナーでは、バックポートされたパッチやカスタムホットフィックスを見逃す可能性があります。このツールは脆弱性が実際に存在することを検証します。 そのため、設計上侵入的です。賢明に、かつ完全な許可を得て使用してください。
masta-cve-2026-48907.py は 完全にオリジナルのシングルファイル Python スキャナーで、JCE Editor コンポーネントのバージョンが 2.9.99.5 より古い Joomla! インスタンスにおける CVE-2026-48907 を検出するためのものです。
requests/httpx 依存無し。.py ファイル 1 つ。openpyxl や rich が無くても動作しますが、インストールされていると美しく表示されます。ThreadPoolExecutor を使用して URL リスト全体を高速にスキャン。.xlsx) レポートを自動生成。| 機能 | 説明 |
|---|---|
| 🔍 マルチソースフィンガープリンティング | meta タグ、マニフェスト、静的アセット、言語ファイル、JCE 固有のエンドポイントから Joomla! と JCE を検出 |
| 🛡 WAF 検出 | Cloudflare、Incapsula、Sucuri、ModSecurity のブロックを識別 |
| 🧪 安全な侵入的 POC | 無害な PHP 数学検証ファイル(帰属表示あり、クリーンアップ用に明示的にラベル付け)をアップロード |
| 📊 カードベースのターミナル UI | ターゲットごとに Rich Panel + Table カード(または ANSI フォールバック)を表示 |
| 📁 Excel レポート | ヘッダー、固定ペイン、列幅、色分けされたステータスセルを含む自動生成 .xlsx |
| ⚙️ プロキシサポート | Burp / ZAP / 任意の HTTP プロキシを経由してすべてのトラフィックをルーティング |
| 🧵 スレッド化 | 一括リスト用に構成可能なワーカースレッド |
openpyxlrichその他はすべて Python 標準ライブラリです(urllib、http.cookiejar、argparse、threading など)。
# 1. リポジトリをクローン
git clone https://github.com/YOUR_USERNAME/masta-cve-2026-48907.git
cd masta-cve-2026-48907
# 2. (推奨)追加パッケージをインストール
pip install -r requirements.txt
スクリプトは 何もインストールせずに直接実行 することもできます(ターミナル出力のみ、Excel は生成されません):
python masta-cve-2026-48907.py -u https://target.com
python masta-cve-2026-48907.py -u https://target.com/joomla
python masta-cve-2026-48907.py -l targets.txt -t 10
python masta-cve-2026-48907.py -u https://target.com -p http://127.0.0.1:8080
python masta-cve-2026-48907.py -h
-u URL 単一ターゲット URL
-l FILE URL を含むファイル(1行に1つ)
-o OUTPUT カスタム Excel 出力パス
-t THREADS 同時実行スレッド数(デフォルト: 5)
-p PROXY プロキシ URL(例: http://127.0.0.1:8080)
--timeout N リクエストタイムアウト(秒)(デフォルト: 12)
--verify-ssl SSL 証明書検証を有効化(デフォルト: 無効)
-v, --verbose スキャン中に各ターゲットの結果カードを表示
-d, --debug 内部 HTTP リクエストトレースを表示
--no-color カラーのターミナル出力を無効化
以下は、入力から最終レポートまでの完全なスキャンロジックです。
flowchart TD
A[ユーザーが -u URL または -l FILE を指定] --> B[ターゲットを正規化・重複排除]
B --> C[ThreadPoolExecutor を起動]
C --> D[各ターゲットに対して]
D --> E1[probe_joomla<br/>GET /, meta, manifest,<br/>static assets, README]
E1 --> F1{Joomla! 検出?}
F1 -- No --> R1[ステータス: NOT_JOOMLA]
F1 -- Yes --> E2[probe_jce<br/>GET jce.xml, エンドポイント,<br/>JCE 固有マーカー]
E2 --> F2{JCE 検出?}
F2 -- No --> R2[ステータス: SAFE<br/>JCE 未インストール]
F2 -- Yes --> F3{バージョン >= 2.9.99.5?}
F3 -- Yes --> R3[ステータス: PATCHED]
F3 -- No --> E3[extract_csrf<br/>Joomla! CSRF トークンを解析]
E3 --> F4{トークン発見?}
F4 -- No --> R4[ステータス: PATCHED<br/>CSRF 欠落 → おそらく強化済み]
F4 -- Yes --> E5[数学検証ペイロードを構築<br/>masta-cve-2026-48907-poc ...]
E5 --> E6[ベクター1: Multipart POST<br/>profile_file を tmp/ にアップロード]
E6 --> F5{HTTP 200?}
F5 -- Yes --> E7["GET /tmp/masta-{rand}.xml.php"]
E7 --> F6{レスポンスボディに<br/>MATHOK:3105:END が含まれる?}
F6 -- Yes --> R5[ステータス: VULNERABLE<br/>確信度: CONFIRMED]
F6 -- No --> E8[ベクター2: ブラウザチェーン<br/>RPC 経由でアップロード + リネーム]
E8 --> F7{RCE 確認?}
F7 -- Yes --> R5
F7 -- No --> E9[WAF ブロックページをチェック]
E9 --> F8{WAF 検出?}
F8 -- Yes --> R6[ステータス: BLOCKED_BY_WAF]
F8 -- No --> R7[ステータス: SAFE]
F5 -- No --> E8
R1 --> S[結果を Excel とターミナルカードに追加]
R2 --> S
R3 --> S
R4 --> S
R5 --> S
R6 --> S
R7 --> S
S --> D
D --> T[サマリーダッシュボードを表示]
T --> U[Excel レポートを reports/ に保存]
U --> V[アップロードしたすべての POC ファイルの<br/>クリーンアップリマインダーを表示]
style R5 fill:#ff0000,stroke:#333,color:#fff
style R3 fill:#32CD32,stroke:#333,color:#000
style R6 fill:#FFD700,stroke:#333,color:#000| ステータス | 意味 | 確信度 |
|---|---|---|
| VULNERABLE | PHP ペイロードが実行され、数学的証明が検証されました。RCE は本物です。 | CONFIRMED |
| VULNERABLE_UPLOAD_ONLY | ファイルのアップロードは成功しましたが、PHP の実行はブロックされました。悪用可能ですが RCE は確認されていません。 | HIGH |
| PATCHED | Joomla! / JCE が検出され、バージョンが >= 2.9.99.5、または CSRF が強化されています。 | HIGH / MEDIUM |
| SAFE | JCE がインストールされていないか、エクスプロイトベクターが失敗しました(おそらくパッチ/強化済み)。 | HIGH |
| BLOCKED_BY_WAF | Web アプリケーションファイアウォールがテストをブロックしました。 | LOW |
| NOT_JOOMLA | ターゲットは Joomla! サイトではないようです。 | CERTAIN |
| ERROR | ネットワーク / 接続 / 未処理の例外。 | LOW |
下の画像を実際のターミナルスクリーンショットに置き換えてください。
ターミナルスクリーンショットプレースホルダー
下の画像を実際の Excel レポートのスクリーンショットに置き換えてください。
Excel レポートプレースホルダー
ヒント: ローカルのテスト用 Joomla! インスタンスに対してスキャナーを実行し、実際のスクリーンショットを生成してください。それらを assets/ フォルダにコミットすると、GitHub 上で自動的に表示されます。
このスキャナーは、脆弱性を確認するために 無害な PHP 概念実証ファイル をターゲットサーバーにアップロードします。ツールはスキャン終了時に、アップロードされたすべてのファイルを一覧表示する リマインダー を常に出力します。テスト後は手動で削除する必要があります。 これらのファイルは masta-{random}.xml.php のような名前で、以下の帰属明記行が含まれています:
masta-cve-2026-48907-poc. This test is done as part of Security Assessment - masta ghimau.
このソフトウェアを使用することにより、お客様はご自身の行動に対する全責任を負うものとします。コードは「現状のまま」提供され、いかなる保証もありません。侵入的な RCE 検証スキャナーを実行することの影響を理解していない場合は、このツールを使用しないでください。
🛡 自分のアセットを守るために使用してください。他人を害するためではありません。