
ثغرة في برنامج Data Illusion Survey Software Solutions NGSurvey الإصدار 2.4.28 وما دون تسمح للمهاجمين بالتسبب في رفض الخدمة (DoS) عبر استبيان معد خصيصًا.
إصدار ngSurvey 2.4.28 وما دونه معرض لرفض الخدمة إذا احتوى الاستبيان على "حقل نصي" أو "حقل تعليق" أو "تفاصيل اتصال". السبب في ذلك هو أن الحقول لا تتضمن حدًا لعدد الأحرف. يمكن للمهاجم إرسال عدد لا نهائي من الأحرف في الحقول. أثناء الاختبار، تعطل تطبيق docker أثناء إرسال الطلب. ومع ذلك، تم إرسال إجابة الاستبيان في حالات أخرى. عندما يحاول مسؤول ngSurvey عرض بيانات المستجيب أو إجراء تصدير، يستخدم متصفح الويب كمية زائدة من الذاكرة العشوائية أو يعيد الخادم خطأً داخليًا (500). مما يجعل بيانات الاستبيان غير قابلة للوصول، على الأقل من واجهة الويب. حتى إذا حدد مسؤول ngSurvey حدًا للأحرف على الإجابة، لا يزال الاستغلال ممكنًا لأن الفحص يتم فقط في متصفح العميل.
ملاحظات: قد يكون سؤال "المنزلق" معرضًا للخطر أيضًا باستخدام عدد صحيح كبير بدلاً من سلسلة. لم يتم تأكيد ذلك في بيئتي المحلية.
dospayload (أي شيء آخر سيعمل لكنني سأستخدم هذه السلسلة للتوضيح).import requests، أضف الكود التالي dospayload= "A" * 123456789.burp0_json. ستبدو هكذا "value" : "dospayload"."value" : dospayload.يجب أن يبدو الكود النهائي هكذا:

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