الالية عمل لثغرة xxe
تحية طيبة
قبل لا ندخل بشرح لازم نعرف شنو معنى xml :
هي اختصار لعبارة eXtensible Markup Language و التي تعني لغة الترميز القابلة للتمدّد , وتعتبر من لغات توصفية او ترميزية , شبيه (html ) ولا تعبرة من لغات ( Programming Languages ) من حيث عدم احتوائها على المتغيرات او الدوال وغيرها من الامور التي تتميز بيها لغة البرمجة .
وتكون بينتها على شكل اوسمة او مايعرف بالتاك (Tags) والتى تكتب تعليمات بين قوسيين .
xmlمثال عشوائي
<?xml version=”1.0″ encoding=”UTF-8″?><note> <to>John</to>
<from>Jane</from>
<heading>Reminder</heading>
<body>Don’t forget to pick up the milk!</body> </note>
هذا توضيح بسيط xml
نجي الى xxe شنو هية ؟
XXE هي اختصار لـ “XML External Entity” وهي ثغرة موجود في تطبيقات التى تستخدم XML لتخزين وتحليل البيانات. يتيح هذا نوع من الثغرات من إدخال مدخلات تحتوي على معالجات XML External Entity (أو خوادم خارجية للمستندات) في ملف XML ، مما يؤدي إلى استعراض البيانات الممهمة في التطبيق .
يعني خل اوضحلك اكثر اكو تطبيقات مامستخدم قواعد البيانات المعروفة , انما تستخدم هيج ملفات من اجل السرعة , وعلى الاغلب انشوف هيج تطبيقات بأجهزة راوتر وغيرها من الاجهزة صغيرة.
زين شلون يتم استغلال هاي ثغرات
ياطويل العمر و اكو شيء اسمة Entity
تكدر تبحث وتشوف شلون يشتغل.
هذا المهاجم شسوي اعدل على طلب رايح وخلي مثلا مسار ملف اريد يقراة
لو تشوف الصورة ان الطلب رايح اول مرة عبارة عن تاكات وبي رقم ايدي للمنتج
احنة شراح نسوي ؟
راح نعدل على الطلب ونخلي الانتري مع مسار الملف انريد نشوفة
هذا مثال بسط لهاي ثغرة
طبعا الثغرة بيها انواع
مثل OOB–XXE وهذا نوع ماتكدر تشوف طلب من نفس سيرفر الهدف انما على سيرفرك
طبعا ممكن تستفاد من هل ثغرة اذا جان مثلا عندك رجن معين في شبكة معين غير مسموح الك دخول الها تدخل عليها وتحويلها الى SSRF
نكدر نكول بعض الخواص ثغرة تشبه Local file inclusion