Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-28496-Lab — مختبر قائم على Docker لإعادة إنتاج والتحقق من CVE-2026-28496، وهي ثغرة حقن قالب من جانب الخادم في عرض Twig الخاص بـ FOSSBilling، مع أهداف مقارنة معرضة ومصححة. | Kitploit
أدوات/GitHubGitHub/rootdirective-sec/cve-2026-28496-lab
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليممختبرات وتدريب عملي
GitHubrootdirective-sec/cve-2026-28496-lab

CVE-2026-28496-Lab

مختبر قائم على Docker لإعادة إنتاج والتحقق من CVE-2026-28496، وهي ثغرة حقن قالب من جانب الخادم في عرض Twig الخاص بـ FOSSBilling، مع أهداف مقارنة معرضة ومصححة.

عرض المستودع
12منذ 3 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2026-28496 - حقن القوالب من جانب الخادم في FOSSBilling عند تقديم Twig

الملخص التنفيذي

يحتوي هذا المستودع على مختبر محلي يعمل بـ Docker لإعادة إنتاج والتحقق من CVE-2026-28496، وهي ثغرة حقن قوالب من جانب الخادم تؤثر على سلوك تقديم قوالب Twig في FOSSBilling.

FOSSBilling هي منصة فوترة وإدارة عملاء مجانية ومفتوحة المصدر. الإصدارات السابقة للإصدار 0.8.0 متأثرة بسلوك تقديم قوالب Twig غير الآمن الذي يمكنه تقييم تعبيرات القوالب المقدمة. يُستخدم FOSSBilling 0.8.0 كهدف مقارنة مُصحَّح في هذا المختبر.

يقارن هذا المختبر بين إصدارين من FOSSBilling:

الخدمةإصدار FOSSBillingالغرضURL
vuln0.7.2هدف المقارنة المعرّض للثغرةhttp://localhost:8081
patched0.8.0هدف المقارنة المُصحَّحhttp://localhost:8082

مسار التحقق عبر HTTP المُوضَّح في هذا المختبر المحلي هو:```text Unauthenticated HTTP request in this local FOSSBilling 0.7.2 lab → POST /api/system/system/string_render → JSON body contains _tpl={{ 7*7 }} → vulnerable target renders the Twig expression → patched target does not expose the same tested API behavior

في الهدف الضعيف، يُرجع استدعاء API:```json
{"result":"49","error":null}

في الهدف المُصحَّح، يُرجع نفس الطلب:```json {"result":null,"error":{"message":"Unknown API call system/system/string_render","code":879}}

هذا المختبر يتحقق من سلوك HTTP بين النسخة القابلة للاستغلال والنسخة المصحّحة باستخدام FOSSBilling 0.7.2 و FOSSBilling 0.8.0.

المختبر مُقيَّد عمدًا بخدمات Docker المحلية. لا يستهدف أنظمة خارجية ولا يتضمن قوائم ويب، أو برمجيات خبيثة، أو استمرارية، أو استدعاءات خارجية، أو تفريغ قواعد بيانات، أو حمولات تدميرية.

## حقائق مُتحقق منها

| الادعاء                                                                               | الدليل                                                                                                           | كيفية التحقق في هذا المختبر                                                              |
| ----------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------- |
| يؤثر CVE-2026-28496 على إصدارات FOSSBilling الأقدم من 0.8.0.                         | بيانات CVE العامة وبيانات النشرة الاستشارية تحدد FOSSBilling قبل 0.8.0 كإصدار متأثر بثغرة Twig SSTI.                     | راجع قسم المراجع وقارن بين إصداري الهدف القابل للاستغلال والهدف المُصحَّح.  |
| يُستخدم FOSSBilling 0.7.2 كهدف المقارنة القابل للاستغلال.                      | الخدمة القابلة للاستغلال مبنية من صورة Docker الرسمية `fossbilling/fossbilling:0.7.2`.                    | افحص `vuln/Dockerfile` وشغّل `docker compose ps -a`.                              |
| يُستخدم FOSSBilling 0.8.0 كهدف المقارنة المُصحَّح.                         | الخدمة المُصحَّحة مبنية من صورة Docker الرسمية `fossbilling/fossbilling:0.8.0`.                       | افحص `patched/Dockerfile` وشغّل `docker compose ps -a`.                           |
| مسار HTTP القابل للاستغلال هو `/api/system/system/string_render`.                     | الهدف القابل للاستغلال يُرجع JSON بقيمة `result: "49"` عند إرسال `_tpl={{ 7*7 }}`.                                       | شغّل `python3 poc/poc.py --url http://localhost:8081`.                                  |
| الهدف المُصحَّح لا يُظهر نفس سلوك HTTP.                          | الهدف المُصحَّح يُرجع `Unknown API call system/system/string_render`.                                         | شغّل `python3 poc/poc.py --url http://localhost:8082`.                                  |
| إثبات المفهوم (PoC) يعتمد على HTTP فقط.                                                               | يرسل `poc/poc.py` طلبات HTTP POST ولا يستدعي Docker أو Docker Compose أو أوامر shell أو واجهات برمجة الحاويات. | افحص `poc/poc.py`.                                                                  |
| المختبر يثبّت تلقائيًا كلا هدفي FOSSBilling أثناء بدء تشغيل Docker Compose.       | حاويات المثبّت الجانبية التي تعمل لمرة واحدة تُكمل الإعداد وتخرج بحالة 0.                                   | شغّل `docker compose ps -a` و `docker compose logs installer-vuln installer-patched`. |
| الهدف القابل للاستغلال يعرض تعبير Twig غير الضار.                         | استجابة HTTP من المنفذ 8081 هي `{"result":"49","error":null}`.                                                | شغّل أمر PoC الخاص بالنسخة القابلة للاستغلال.                                                        |
| الهدف المُصحَّح لا يعرض نفس التعبير عبر مسار API المُختبَر. | استجابة HTTP من المنفذ 8082 هي خطأ JSON API برمز `879`.                                              | شغّل أمر PoC الخاص بالنسخة المُصحَّحة.                                                           |

## الافتراضات والمجهولات

يستخدم هذا المختبر FOSSBilling 0.7.2 كهدف المقارنة القابل للاستغلال لأن الأبحاث العامة حول الثغرات تحدد إصدارات FOSSBilling قبل 0.8.0 كمتأثرة، و0.7.2 هو أحدث إصدار قابل للاستغلال مُستخدم في السلسلة المُختبَرة.

يستخدم هذا المختبر FOSSBilling 0.8.0 كهدف المقارنة المُصحَّح لأن بيانات النشرة الاستشارية العامة تحدد 0.8.0 كالنسخة المصحَّحة.

يركز هذا المختبر على سلوك HTTP القابل للملاحظة لكل من:```text
POST /api/system/system/string_render

مع جسم JSON هذا:```json {"_tpl":"{{ 7*7 }}"}

يُظهر المختبر أن FOSSBilling 0.7.2 يعرض تعبير Twig المُقدَّم عبر مسار HTTP API، بينما لا يوفّر FOSSBilling 0.8.0 نفس استدعاء API.

لا يدّعي هذا المختبر اختبار كل ميزة من ميزات عرض قوالب FOSSBilling. يرتبط CVE-2026-28496 أيضًا بسياقات أخرى لعرض Twig، مثل ميزات عرض القوالب المتاحة داخل التطبيق.

لا يوضح هذا المختبر سلسلة تنفيذ التعليمات البرمجية عن بُعد الكاملة غير الموثَّقة. إنه يتحقق من سلوك HTTP غير الموثَّق الذي لوحظ في هدف FOSSBilling 0.7.2 المحلي ويقارنه مع FOSSBilling 0.8.0. تتضمن السلسلة العامة الكاملة سلوك تفويض API إضافيًا يتجاوز التحقق الآمن من تعبير Twig الموضح هنا.

لا يعرض المختبر:

* تنفيذ أوامر عن بُعد،
* استخراج بيانات الاعتماد،
* تفريغ قاعدة البيانات،
* تثبيت الإضافات،
* كتابة ملفات عشوائية،
* الثبات،
* رفع ويب شيل،
* استدعاءات خارجية،
* هجمات ضد أنظمة خارج المختبر،
* أو أنشطة ما بعد الاستغلال.

## ملخص السبب الجذري

السبب الجذري لـ CVE-2026-28496 هو عرض قوالب Twig غير الآمن.

يستخدم FOSSBilling Twig لعرض القوالب الديناميكية. في الإصدارات المعرضة للخطر، يمكن تمرير سلسلة قالب مُقدَّمة إلى منطق عرض Twig دون قيود كافية لبيئة الحماية المعزولة (sandbox).

يمكن تلخيص السلوك المعرض للخطر على النحو التالي:```text
Input template string
→ FOSSBilling API receives _tpl
→ System\Api\Admin::string_render() reads _tpl
→ System\Service::renderString() receives the template string
→ Twig creates a template from the supplied string
→ Twig evaluates the expression
→ rendered output is returned in the HTTP response

لهذا التعبير القالبي غير الضار:```twig {{ 7*7 }}

يُقيّم الهدف المعرّض للخطر التعبير ويُرجع:```text
49

المشكلة الأمنية لا تقتصر على التقييم الحسابي. التقييم الحسابي هو فقط الإشارة المرئية الآمنة المستخدمة في هذا التمرين.

المشكلة الأكثر حساسية أمنيًا هي أن قوالب Twig غير المعزولة قد تصل إلى الكائنات والطرق المكشوفة في سياق القالب. يصف البحث العام مسارًا ذا تأثير أعلى حيث يمكن لتنفيذ قالب Twig الوصول إلى دواخل التطبيق، بما في ذلك حاوية حقن التبعية، عندما تتوفر كائنات سياق قالب مناسبة.

تنزيل الأداة