ثغرات SSTI وSSI وXSLT Injection

x32x01
  • بواسطة x32x01 ||
لو بتتعلم اختبار الاختراق أو أمن تطبيقات الويب، فـ ثغرات الحقن المتقدمة من المواضيع المهمة اللي لازم تفهم فكرتها كويس، لأنها ممكن تتطور من مجرد كشف معلومات إلى تأثير أكبر على الخادم حسب التقنية وطريقة إعداد التطبيق.
في الفيديو ده هناخد جولة عملية في 3 أنواع مهمة:
  • 🔥 SSTI - Server-Side Template Injection
  • 🧩 SSI - Server-Side Includes Injection
  • ⚙️ XSLT Injection
والهدف مش بس معرفة أسماء الثغرات، لكن فهم إزاي بتحصل، وإمتى تكون خطيرة، وإيه نوع التأثير اللي ممكن ينتج عنها.



أولًا: SSTI - Server-Side Template Injection​

ثغرة SSTI بتحصل لما التطبيق يدخل بيانات المستخدم داخل Template ويتم تفسيرها على السيرفر بدل ما يتعامل معاها كنص عادي.
المشكلة إن بعض محركات الـ Template بتسمح بعمليات تتجاوز مجرد عرض النص، وبالتالي لو التطبيق متكوّن بشكل غير آمن، ممكن الثغرة تؤدي إلى:
  • 📌 كشف معلومات من بيئة التطبيق.
  • 📂 الوصول إلى ملفات على السيرفر في بعض السيناريوهات.
  • ⚠️ الوصول إلى وظائف حساسة داخل محرك الـ Template.
  • 💻 وفي حالات معينة، إمكانية تنفيذ أوامر على الخادم.
ومن أشهر البيئات اللي ممكن تظهر فيها المشكلة:
  • Python مع Jinja2.
  • PHP مع Twig.
  • ومحركات Template أخرى حسب طريقة استخدامها داخل التطبيق.
المهم هنا إن وجود Template Engine لوحده مش معناه إن التطبيق مصاب؛ طريقة التعامل مع بيانات المستخدم هي العامل الأساسي.



ثانيًا: SSI - Server-Side Includes Injection​

تقنية SSI بتسمح للسيرفر بتضمين محتوى داخل صفحات HTML قبل إرسالها للزائر.
الفكرة ممكن تكون مفيدة جدًا في المواقع اللي بتحتاج تضمين أجزاء مشتركة، زي:
  • Header.
  • Footer.
  • ملفات أو محتوى مشترك.
  • أجزاء متكررة بين صفحات الموقع.
لكن المشكلة بتبدأ لما يكون المستخدم قادر بشكل غير آمن على التأثير في تعليمات SSI التي يعالجها السيرفر.
في بعض إعدادات السيرفر، وجود توجيهات خطيرة مثل exec ممكن يحول المشكلة من مجرد Server-Side Include إلى تنفيذ أوامر على الخادم.

لذلك عند اختبار SSI، مهم تفهم:
  • هل SSI مفعّل أصلًا؟
  • إيه الملفات اللي بيتم تفسيرها كـ SSI؟
  • هل مدخلات المستخدم بتوصل إلى تعليمات SSI؟
  • هل الأوامر الحساسة مسموح بتنفيذها؟
🛡️ من ناحية الحماية: تعطيل SSI لو مش مطلوب، وتقييد الوظائف الحساسة، ومنع بيانات المستخدم من الوصول مباشرة إلى تعليمات الخادم، من أهم الإجراءات لتقليل المخاطر.



ثالثًا: XSLT Injection​

XSLT هي تقنية بتُستخدم لمعالجة مستندات XML وتحويلها إلى شكل آخر، زي HTML.
المشكلة الأمنية ممكن تظهر لما التطبيق يسمح للمستخدم بالتحكم في أجزاء من XML أو XSLT بدون قيود كافية، خصوصًا لو بيتم تمرير المدخلات إلى Processor قادر على الوصول إلى وظائف أو موارد حساسة.
حسب الـ Processor والإعدادات المستخدمة، ممكن تؤدي الثغرة إلى تأثيرات مختلفة، منها:
  • 🔎 كشف معلومات عن بيئة التطبيق.
  • 📄 الوصول إلى ملفات محلية في بعض السيناريوهات.
  • 🌐 الوصول إلى موارد خارجية إذا كان ذلك مسموحًا.
  • ⚠️ وفي بعض البيئات والإعدادات، تأثيرات أخطر قد تصل إلى تنفيذ أوامر.
وده بيخلي اختبار XSLT محتاج معرفة نوع الـ Processor المستخدم وإمكانياته، لأن سلوك الثغرة بيختلف من بيئة للتانية.



ليه ثغرات الحقن دي مهمة في اختبار الاختراق؟​

الخطورة في ثغرات الحقن مش مرتبطة باسم الثغرة فقط، لكن بـ المكان اللي وصلت له بيانات المستخدم والامتيازات المتاحة للمعالجة.
مثلًا، إدخال المستخدم ممكن يبدأ كنص بسيط، لكن لو تم تفسيره كـ Template أو XSLT أو SSI، ممكن يتحول إلى تعليمات يفهمها السيرفر.

وعشان كده أثناء اختبار تطبيق بشكل قانوني، حاول تحدد:
  1. أين يتم إدخال بيانات المستخدم؟
  2. هل البيانات يتم تفسيرها أم عرضها كنص فقط؟
  3. ما الـ Engine أو Processor المسؤول عن المعالجة؟
  4. ما الصلاحيات المتاحة للعملية؟
  5. هل يمكن الوصول إلى ملفات أو موارد أخرى؟
  6. هل توجد قيود تمنع الوظائف الحساسة؟
💡 الفكرة الأساسية: كلما اقتربت بيانات المستخدم من مكوّن يقوم بتفسيرها كتعليمات، زادت أهمية التحقق من طريقة المعالجة والقيود الأمنية المفروضة عليها.



🎥 شاهد الشرح العملي​

الفيديو بيجمع شرح SSTI وSSI وXSLT Injection في جولة عملية، مع توضيح طريقة اكتشاف المشكلة وفهم تأثيرها داخل بيئات اختبار مصممة للتعلم واختبار الاختراق بشكل قانوني.
Video thumbnail



الأسئلة الشائعة​

------------

ما هي SSTI؟​

هي ثغرة بتحصل عندما يتم تفسير بيانات يتحكم فيها المستخدم داخل Server-Side Template بدل التعامل معها كنص عادي، وقد تؤدي حسب البيئة والإعدادات إلى كشف معلومات أو تأثيرات أخطر.

ما الفرق بين SSTI وSSI؟​

SSTI مرتبطة بمحركات Server-Side Template، بينما SSI تعتمد على آلية Server-Side Includes التي يستخدمها السيرفر لتضمين محتوى داخل الصفحات.

هل XSLT Injection تؤدي دائمًا إلى RCE؟​

لا. التأثير يعتمد على نوع XSLT Processor المستخدم، والإعدادات، والصلاحيات والوظائف المتاحة. قد يكون التأثير محدودًا في بعض البيئات، بينما يكون أخطر في بيئات أخرى.

هل وجود Template Engine يعني أن التطبيق مصاب بـ SSTI؟​

لا. وجود Template Engine طبيعي في كثير من التطبيقات. الثغرة تعتمد على طريقة إدخال ومعالجة بيانات المستخدم داخل الـ Template.

هل يمكن اختبار هذه الثغرات على أي موقع؟​

اختبار الاختراق يجب أن يتم على أنظمة تملكها أو لديك تصريح واضح لاختبارها. للتعلم، الأفضل استخدام مختبرات وتطبيقات تدريبية مصممة لاختبار الثغرات.
 
مواضيع مشابهة
x32x01
الردود
0
المشاهدات
23
x32x01
x32x01
x32x01
الردود
0
المشاهدات
6
x32x01
x32x01
x32x01
الردود
0
المشاهدات
4
x32x01
x32x01
x32x01
الردود
0
المشاهدات
20
x32x01
x32x01
x32x01
الردود
0
المشاهدات
16
x32x01
x32x01
x32x01
الردود
0
المشاهدات
26
x32x01
x32x01
إحصائيات المنتدى
المواضيع
2,306
المشاركات
2,371
الأعضاء
16
آخر عضو مسجل
HcN57
عودة
أعلى