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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
xss2shell — 🔥 XSS2Shell — CVE-2026-64638 スキャナー&PoCツールキット | Kitploit
ツール/GitHubGitHub/0xlipon/xss2shell
防御ツール偵察脆弱性スキャナーウェブ脆弱性スキャナーペイロード生成脆弱性分析ウェブアプリケーション悪用ウェブセキュリティペネトレーションテスト
GitHub0xlipon/xss2shell

xss2shell

🔥 XSS2Shell — CVE-2026-64638 スキャナー&PoCツールキット

3261ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
リポジトリを見るウェブサイト

CVE-2026-64638 CVSS 8.9 pwn.ai Python 3.8+

🔥 XSS2Shell — CVE-2026-64638 スキャナー & PoC ツールキット

ビヘイビアファーストのマススキャナー兼エビデンスグレードのPoCジェネレーター。5億以上のWebサイトに影響するWordPressの 認証前XSS-to-RCEチェーンに対応します。
検出のみ。武器化は一切行いません。バグバウンティプログラムとブルーチーム向けに作られています。

公式チェッカー: https://pwn.ai/xss2shell-checker.html

これは何か? • クイックスタート • Shodan ダークス • 使い方 • 判定マトリックス • 検出 • FAQ


🔎 Shodan ダークス

スキャン前に、インターネット上で潜在的に脆弱なWordPressインスタンスを探しましょう:

WordPress コアの探索

http.component:"wordpress" -http.title:"Just a moment"

Cloudflareの「I'm Under Attack」モード / ボット保護ページ(自動リクエストをブロックまたはチャレンジする)を除外しつつ、WordPressサイトを発見します。

ログインページへの絞り込み

http.component:"wordpress" http.title:"Log In"

CVE-2026-64638のまさに攻撃対象となるWordPressログインページのみを返します。

バージョン別の探索

http.component:"wordpress" "wp-content" "?ver=7.0" -"?ver=7.0.3"

アセットのバージョンフィンガープリントにより、7.0.3パッチを適用していないWordPress 7.0.xインスタンスを検出します。

対象範囲の拡大

http.component:"wordpress" http.html:"wp-login.php"

wp-login.php に到達可能だが現在のページではないサイトも捕捉します — より広範なカバレッジを実現します。

Cloudflare 除外 (組み合わせ)

http.component:"wordpress" -http.title:"Just a moment" -http.title:"Attention Required" -org:"Cloudflare"

Cloudflareを前面に置いたほとんどのターゲットを除外する強力なフィルターです。--active を使用した大規模スキャン時に使用してください — Cloudflareはプローブリクエストをレート制限またはブロックします。

ヒント: shodan download でShodanの結果をエクスポートし、ホスト名をパイプでそのまま xss2shell_mass.py -i に渡してください。


🚨 CVE-2026-64638 とは何か?

2026年8月7日、pwn.aiはCVE-2026-64638 (XSS2Shell) を公開しました — これはWordPress Coreにおける重大な認証前クロスサイトスクリプティング (XSS) 脆弱性で、サーバー上でのリモートコード実行 (RCE) にまで連鎖します。[citation:pwn.ai blog]

このバグは、PHPの strip_tags() とWordPressの wp_kses_post() の間のパーサーの解釈の相違を悪用します:

  • strip_tags() は、< の直後に英字が続く場合にHTMLタグとして識別します。< area id=...> (スペース入り) はテキストとして扱われるため、除去されずに残ります。
  • wp_kses_post() (KSES) は < area を有効な <area> 要素として認識します — そして <area> はKSESで許可リストに登録されています。[citation:pwn.ai blog]

特別に細工されたユーザー名 < area id=ajaxurl href=/?rest_route=/&_method=GET&_jsonp=alert>... による1回のログイン失敗で両方のサニタイザーをバイパスし、ログインページにライブDOMとしてレンダリングされ、DOM clobberingを介してWordPress自身の user-profile.js スクリプトを乗っ取り、WordPressオリジン上で alert() を発火させます — クリック不要、認証不要、Cookie不要です。[citation:pwn.ai blog]

ログイン済み管理者への権限昇格は? 同じプリミティブで、Same Origin Method Execution (SOME) を介してApplication Passwordsを窃取し、悪意のあるプラグインをアップロードし、www-data としてPHPを実行できます。[citation:pwn.ai blog] [citation:hadrian.io blog]

影響を受けるバージョン: WordPress 6.4〜7.0.2 — 7.0.3でパッチ適用済み。4.7以降にもバックポート。
影響範囲: 公開時点で約5億のWebサイト。[citation:pwn.ai blog]

📰 主要リソース

リソースリンク
元の開示 (pwn.ai)pwn.ai/blog/xss2shell
Hadrian 技術分析hadrian.io/blog/wordpress-xss2shell
WordPress アドバイザリ (GHSA)GHSA-52p2-r8wf-jcrf
SOME攻撃の研究 (2022)pwn.ai/blog/bypass-csp-using-wordpress
WordPress 7.0.3 リリースwordpress.org/news/2026/08/wordpress-7-0-3-release

⚡ このツールキットができること

これは検出のみのツールキットです。この脆弱性を武器化することはありません — セキュリティ研究者、バグバウンティハンター、ブルーチームに必要なすべてを提供します:

  1. マススキャン — 数百のWordPressホストを数分でビヘイビアファーストの精度で処理
  2. XSSが発火することを証明するエビデンスグレードのPoCページを生成 (alert() のみ)
  3. 検出結果を分類し、正確な信頼度レベルで判定 — バージョンマッチングによる誤検知はありません

🔑 なぜビヘイビアファーストなのか?

「バージョン文字列は、コードがあるべきパッチレベルを示すだけです。
バグが実際に発火するかどうかを示すのは、ログインページのサニタイザーの挙動だけです。」

マネージドホストは、バージョン文字列を上げずにセキュリティパッチを静かにバックポートします。ログイン強化プラグインはエラーメッセージを完全に置き換えるため、脆弱なバージョンでも反射 (リフレクション) チャネルを無効化します。**バージョンだけで判定するスキャナーは、誤検知と検出漏れの両方を生み出します。**このスキャナーは単一の良性プローブを送信し、実際のサニタイザーの挙動を分類します。


🚀 クイックスタート

インストール

git clone https://github.com/jakestone/xss2shell.git
cd xss2shell
pip install -r requirements.txt

5分でできるスキャン

# Passive — no probes sent to target, version + endpoint fingerprinting only
python3 xss2shell_mass.py -i domains.txt -o results

# Active — sends ONE benign failed-login per host (authorized assets only!)
python3 xss2shell_mass.py -i domains.txt -o results --active --workers 80

エビデンスPoCの生成

# Single target
python3 make_poc.py --target https://blog.example.com

# Batch from scanner output
python3 make_poc.py --from-results results.csv -o pocs/

生成された .poc.html を録画しながらブラウザで開きます → alert() が発火すれば、認証前XSSのエビデンスを捕捉できたことになります。


📖 使い方

マススキャナー (xss2shell_mass.py)

usage: xss2shell_mass.py [-h] -i INPUT [-o OUTPUT]
                         [--active] [--workers WORKERS]
                         [--timeout TIMEOUT] [--quiet]
フラグ説明
-i, --input1行に1ホストを記述したファイル (ベアドメインまたは完全なURL)
-o, --output出力ファイルのベースパス (.csv と .json を生成)
--activeビヘイビアプローブを有効化 — ホストごとに1回のログイン失敗を送信
--workersスレッドプールサイズ (デフォルト: 50、接続が良ければ最大約200)
--timeoutHTTPタイムアウト (秒) (デフォルト: 10)
--quietconfirmed_vulnerable、vulnerable、likely_vulnerable のみを表示

パッシブスキャンのエビデンス (アクティブプローブなし、常に収集)

  1. ホームページ → WordPress フィンガープリント (meta generator、アセットの ?ver= パラメータ、wp-content 参照)
  2. ログインページ → 到達可能性、標準ログインフォームの検出、user-profile.js ガジェットのエンキュー、コアアセットのバージョン
  3. REST JSONP スモークテスト → /?rest_route=/&_method=GET&_jsonp=<random> への無害なGET — JSONP経路は開いているか?
  4. Feed/Readme フォールバック → ホームページのフィンガープリントがない場合のバージョン抽出

アクティブプローブ (1回のPOST、--active フラグ)

ユーザー名 < area id=<RANDOM> href=/x2s> で1回のログイン失敗を送信し、HTMLレスポンスを分類します:

  • bypass — マーカー付きの実際の <area> 要素が残存 → strip_tags/KSESの不一致を確認
  • escaped — マーカーは存在するがエンティティエンコードされている → パッチまたは強化が適用済み
  • stripped — デフォルトのWPエラーが表示され、タグが除去された → acevomod またはパッチ適用済み
  • closed — ユーザー名の反射が一切ない → ログイン強化プラグインが導入済み

PoC ジェネレーター (make_poc.py)

usage: make_poc.py [-h] [--target TARGET] [--from-results FROM_RESULTS]
                   [-o OUTDIR]

各ターゲットについて、公開されているpwn.aiのPoCページを生成します — パッチ未適用のWordPressで alert() を発火させる正確なHTMLフォームです。コメント内に3つのペイロードバリアントが含まれています:

バリアントhref の値使用場面
Default/?rest_route=/&_method=GET&_jsonp=alert標準的なWordPress
Envelope/?rest_route=/&_method=GET&_envelope=1&_jsonp=alertRESTが401を返す場合 (200でラップ)
WAF Pivot/wp-json/wp/v2/statuses/publish?_jsonp=alert&_method=GET?rest_route= がWAFでブロックされる場合

🧠 判定マトリックス

スキャナーの判定エンジンは、バージョン分類 (WordPress.orgのstable-check APIによる) とビヘイビアのエビデンスを組み合わせ、10種類の明確な判定を出力します:

ツールをダウンロード