
| バリアント | フォーカス |
|---|
| Easy | 直接的な脆弱エンドポイントと明確なエクスプロイトパス |
| Medium | おとりのルートと偽のサニタイザー |
| Hard | 隠されたルート、エンコードされたペイロード、多段階のフラグフロー |
このプロジェクトには以下も含まれます:
yaml.safe_load() の比較用python3 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
pytest -q
python3 challenge_runner.py start --variant easy
意図されたチャレンジフローにはバリアントのREADMEファイルを使用してください。アプリはデフォルトでlocalhostにバインドされ、Dockerは不要です。
脆弱なバリアントは、攻撃者が制御する入力に対して意図的にPythonオブジェクトを扱えるYAMLローダーを使用しています:
yaml.load(data, Loader=yaml.Loader)
比較用の実装では、より安全なローダーを使用しています:
yaml.safe_load(data)
実際のアプリケーションでは、信頼できないYAMLに yaml.Loader を決して使用しないでください。このラボは防御的トレーニングと許可されたテスト専用です。
MIT License の下でリリースされています。