
脆弱なThinkPHP 8.0.4テスト環境 - CVE-2024-44902用のnucleiテンプレート検証
nuclei-templates検証用の脆弱環境。
| フィールド | 値 |
|---|---|
| CVE ID | CVE-2024-44902 |
| 重要度 | 重大 (CVSS 9.8) |
| 製品 | ThinkPHP |
| 影響を受けるバージョン | 6.1.3 - 8.0.4 |
| タイプ | 安全でないデシリアライゼーション → RCE |
| CWE | CWE-502 |
ThinkPHP バージョン 6.1.3 から 8.0.4 には、安全でないデシリアライゼーションの脆弱性が含まれています。Memcached PHP 拡張機能がインストールされている場合、攻撃者はユーザー入力に対して unserialize() を呼び出すエンドポイントに悪意のあるシリアル化データを送信することで、任意のコードを実行できます。
このエクスプロイトは、ThinkPHP の内部クラスを利用したガジェットチェーンを悪用します:
ResourceRegister → DbManager → Memcached → Pivot → Model
git clone https://github.com/KrE80r/CVE-2024-44902-env.git
cd CVE-2024-44902-env
docker compose up -d
# Verify app is running
curl http://localhost:8080/
# Test with nuclei template
nuclei -t CVE-2024-44902.yaml -u http://localhost:8080 -debug
# Cleanup
docker compose down
この環境は、composer create-project で作成された ThinkPHP アプリケーションです:
topthink/think:v8.0.0topthink/framework:8.0.4 (脆弱)/api/import?data=<serialized_payload>この脆弱なコントローラは、以下のようなシナリオをシミュレートしています:
これは、標準的なルーティングとコントローラパターンを備えた正規の ThinkPHP アプリケーション構造です。
$ nuclei -t CVE-2024-44902.yaml -u http://localhost:8080
[CVE-2024-44902] [http] [critical] http://localhost:8080/api/import?data=...
$ nuclei -t CVE-2024-44902.yaml -u http://localhost:8090 # httpd:latest
# No results
これは、セキュリティテスト専用の意図的に脆弱な環境です。