
هذا هو إكسبلويت الثغرة CVE-2019-17240.
الإصدارات حتى 3.9.2 وما قبلها من Bludit CMS معرّضة لتجاوز آلية مكافحة القوة الغاشمة المخصصة لحظر المستخدمين الذين حاولوا تسجيل الدخول بشكل غير صحيح 10 مرات أو أكثر.
تم اكتشاف الثغرة بواسطة Rastating.
عند إرسال طلب تسجيل دخول بقيمة ترويسة X-Forwarded-For عبارة عن سلسلة متغيرة (سلسلة مزيفة)، تمت معالجته بنجاح، وتم تسجيل محاولة تسجيل الدخول الفاشلة مقابل السلسلة المزيفة.
يستخدم السكربت أعلاه هذه الثغرة لتجاوز آلية مكافحة القوة الغاشمة.
توجد رموز CSRF في نص صفحة تسجيل الدخول، لذلك قبل كل مرة يرسل فيها طلب POST بالبيانات الاعتمادية، فإنه يحتاج إلى جلب رمز CSRF من مصدر آخر استجابة.
إحدى طرق القيام بذلك هي إرسال طلب GET، جلب رمز CSRF، ثم إرسال طلب POST بالبيانات الاعتمادية والرمز المُجلب، وتكرار ذلك حتى تجد كلمة المرور، وهذا ما رأيته في معظم السكربتات.
الطريقة الأخرى هي جلب رمز CSRF من استجابة آخر طلب POST، لذلك تحتاج فقط إلى إرسال طلب GET في المرة الأولى.
الطريقة الثانية أسرع بكثير مقارنة بالأولى، والقليل من الكفاءة الإضافية يُحدث فرقًا كبيرًا عندما يتعلق الأمر بهجمات القوة الغاشمة التي تتطلب إرسال العديد من الطلبات.
لقد جربت الطريقتين وتمكنت من اختبار 63 كلمة في دقيقة واحدة بالطريقة الثانية و19 كلمة فقط بالطريقة الأولى.
python3 brute.py -u [url] -user [username] -w [pathToWordlist] [-t [threads to use]]
python3 brute.py -u https://192.168.10.13/ -user admin -w sysadmin -t 30
