
مختبر Python قابل للاستغلال عن قصد يُظهر إلغاء تسلسل YAML غير الآمن المؤدي إلى تنفيذ التعليمات البرمجية، مع ثلاثة مستويات صعوبة، ونصوص استغلال، وتلميحات، وتطبيق مقارنة مُرقَّع.
مختبر Python محلي مخصّص، مصمّم ليكون ثغرةً عن قصد، لتعلّم كيف يمكن أن تتحوّل إزالة تسلسل YAML غير الآمنة إلى مسار تنفيذ تعليمات برمجية. يتضمّن ثلاثة مستويات صعوبة، وتطبيق مقارنة مُرقَّعًا، ونصوص استغلال، وتلميحات، وتقارير تحليلية، ولوحة نتائج صغيرة.
السلامة: شغّل هذا المشروع فقط على جهاز محلي قابل للتخلّص منه أو داخل بيئة افتراضية معزولة. لا تعرّض تطبيقات التحدي لشبكة عامة.
| Variant | Focus |
|---|
| 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.
تستخدم المتغيّرات المصابة عن قصد مُحمِّل YAML قادرًا على كائنات Python على مدخلات يتحكّم بها المهاجم:
yaml.load(data, Loader=yaml.Loader)
أما تطبيق المقارنة فيستخدم المُحمِّل الأكثر أمانًا:
yaml.safe_load(data)
لا تستخدم yaml.Loader أبدًا مع YAML غير موثوق في تطبيق حقيقي. هذا المختبر مخصّص للتدريب الدفاعي والاختبار المصرّح به فقط.
صدر بموجب MIT License.