
صمم خط أنابيب تجميع للوصول إلى البيانات دون إذن مناسب بسبب معالجة غير صحيحة لـ $mergeCursors في MongoDB >v8.0 <8.0.7, >v7.0 <7.0.19, >v6.0 <6.0.22
إنشاء خط أنابيب تجميع للوصول إلى البيانات دون إذن مناسب بسبب معالجة غير صحيحة لـ $mergeCursors في MongoDB >v8.0 <8.0.7, >v7.0 <7.0.19, >v6.0 <6.0.22
ليس صعبًا جدًا - فقط استخدم pip3 لتثبيت المتطلبات: pip install -r requirements
python3 CVE-2025-6713
ما يجب فعله لاختباره بنفسك
السطور 4 و5 و6 و7 و9 و10:
mconnect = "mongodb://localhost:27017"
dbname = ""
acollection = ""
rcollection = ""
USERNAME = ""
PASSWORD = ""
يمكنك:
غيّر mconnect إلى URI مونغو الخاص بك للاتصال بقاعدة بيانات خاصتك
غيّر dbname إلى اسم قاعدة بياناتك (استخدم أو عدّل أو انسخ المستودع لاختبار أكثر من قاعدة بيانات واحدة)
غيّر acollection إلى مجموعة متاحة للعامة (يمكن الوصول إليها)
غيّر rcollection إلى مجموعة غير متاحة للعامة (مقيدة)
أعتقد أن USERNAME و PASSWORD بديهيان
السطران 17 و18 (في setupTest(db)، بعد [acollection].insert_many([...):
{"name": "pubthing1", "data": "pub stuff"},
{"name": "pubthing2", "data": "pub stuff"}
هنا، يقوم السكربت فقط بإدراج بيانات اختبارية في قاعدة البيانات (لا يجب أن تكون محددة. يمكن أن تكون أي شيء حرفيًا)
السطران 22 و23 (في setupTest(db)، بعد [rcollection].insert_many([...):
{"name": "secret", "stuff": "my national insurance number"},
{"name": "shhhh", "boo": "location of pringles in my house"}
يمكن أن يكون هذا أيضًا أي شيء حرفيًا. استمتع به.
الباقي - لا تغيره إلا إذا كنت تعرف ما تفعله وإلا ستصاب بالارتباك والغضب