تسجيل الدخول DoS – يتطلب ذلك ببساطة إرسال الكثير من الطلبات المعدة خصيصًا

اختراق الويب , الأختراق والحماية

Dark

تسجيل الدخول DoS سأناقش في هذه المقالة كيف يمكنك ايجاد خطأً في برنامج خاص على HackerOne.

نظرة عامة على البرنامج

  • الصناعة: البرمجيات والتطبيقات
  • نوع البرنامج: خاص
  • الحد الأدنى للمكافأة: 50 دولارًا
  • الأعلى. المكافأة: 500 دولار
  • كفاءة الاستجابة: 70%+

ما هو DoS أو رفض الخدمة؟

رفض الخدمة، أو ببساطة DoS، هو نوع من الهجوم، حيث يرسل المهاجم طلبات متعددة إلى السيرفر لتسبب تعطل السيرفر أو إضافة تأخير كبير في توقيت الاستجابة لجميع المستخدمين.

يمكن أن يؤدي هذا إلى خسارة الأعمال حيث لن يتمكن عملاء موقع الويب هذا من الوصول إلى موقع الويب وتنفيذ الإجراءات، مثل شراء الأشياء إذا كان موقعًا للتجارة الإلكترونية، والدردشة مع أشخاص آخرين إذا كان برنامجًا يشبه المنتدى العام، إلخ.

عادةً ما يكون الطلب الذي يتم إرساله إلى السيرفر سببًا في تصميم DoS بشكل خاص مما يضيف تأخيرًا كبيرًا في توقيت الاستجابة.

وهذا يجعل السيرفر ينفق المزيد من الموارد على طلب المهاجم او الهكر المصمم خصيصًا، وسيتم تخصيص موارد أقل لطلب العميل الحقيقي، مما يؤدي إلى رفض الخدمة بالكامل أو التسبب في تأخير

ماذا يحدث عند الضغط على زر تسجيل الدخول؟

سنناقش في هذا القسم من المقالة ما يحدث عند النقر فوق زر تسجيل الدخول. يتضمن ذلك العمليات التي تحدث على جانب السيرفر.

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

هذه بعض الوظائف الخاصة التي تحول السلاسل من أي طول إلى سلسلة ذات طول ثابت.

يمكنك تحويل سلسلة إلى تجزئة، لكن لا يمكنك القيام بالعكس.

بأخذ مثال MD5، يمكنك تحويل السلسلة “password” إلى تجزئة MD5 “5f4dcc3b5aa765d61d8327deb882cf99″، لكن لا يمكنك تحويل “5f4dcc3b5aa765d61d8327deb882cf99” مباشرة إلى “password”

التجزئة هي عملية معقدة. أنها تنطوي على حسابات ثقيلة. على الرغم من أن المثال الموضح هنا، أي دالة التجزئة MD5، يستغرق وقتًا أقل مقارنة بالوظائف الأخرى، إلا أنه يعتبر غير آمن بعض الشيء، ولكنه لا يزال يوفر حملاً جيدًا على وحدة المعالجة المركزية.

العودة إلى نقطة ما يحدث بعد النقر فوق تسجيل الدخول.

يتم إرسال طلب إلى السيرفر يتضمن اسم المستخدم وكلمة المرور المحددة من قبل المستخدم.

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

إذا تم حساب التجزئة على الواجهة الأمامية فقط، فهناك فرص ضئيلة لأن يكون السيرفر عرضة لهذا الهجوم.

لكي يحدث هذا الهجوم، يجب على السيرفر حساب التجزئة للسلسلة المقدمة

كلما كانت السلسلة أطول، كلما زاد الوقت وطاقة وحدة المعالجة المركزية التي ستستهلكها لحساب التجزئة.

هذا يعني أنه يتعين علينا إرسال سلسلة طويلة إلى التطبيق.

كيفية إرسال سلسلة طويلة إلى السيرفر؟

الآن، بمجرد أن نعرف ما يحدث على الواجهة الخلفية، يجب أن تكون قد عرفت كيفية التسبب في حجب الخدمة (DoS).

نحتاج فقط إلى إرسال سلسلة طويلة في معامل كلمة المرور.

في هذا المثال لننظر في الطلب التالي:-

في الطلب المذكور أعلاه، المعامل الذي يحتوي على كلمة المرور هو password.

لكن قبل أن نرسل سلسلة طويلة، ما هو طول السلسلة الطويلة بالضبط؟

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

بشكل عام، يجب اختبار كلمات المرور التي يزيد طولها عن 10000 حرف، وذلك عن طريق زيادة طول السلسلة.

يمكن لبرنامج Python النصي التالي إنجاز عملك: –

سيقوم برنامج Python النصي أعلاه بإنشاء أحرف يتراوح طولها بين 50 ألف إلى 500 ألف، مع اختلاف 10 آلاف بين كل سلسلة.

يمكنك حفظ البرنامج النصي وتشغيله وحفظ مخرجات هذا في ملف: –

وهذا يعني أن السطر الأول من الإخراج سيحتوي على 50 ألف حرف، والسطر الثاني سيحتوي على 60 ألف، وهكذا.

يمكن اختبار التوقيت باستخدام proxies تطبيقات الويب مثل Burp أو ZAP أو Caido.

في حالتي، استخدمت caido، لأنه proxy خفيف جدًا مقارنة بالبرامج الأخرى.

استخدام proxy تطبيق ويب لإرسال طلب كبير

الآن، سأقوم بتشغيل proxy تطبيق الويب الخاص بي، وهو Caido (وليس عرضًا ترويجيًا).

في المتصفح، سأفتح الهدف، وأتوجه إلى صفحة تسجيل الدخول، أي https://www[.]target[.]com/login

بعد ملء كافة التفاصيل في صفحة تسجيل الدخول، سأرسل طلب تسجيل الدخول، والذي في مثالنا هو POST /login التشغيل الآلي (الدخيل في Burp). بعد وضع علامة على موضع الـ payload ( password المعامل)، سأقوم بتعيين نوع الـ payload على “قائمة بسيطة”، وسأقوم بتحميل ملف الإخراج لرمز Python أعلاه

الآن، سأبدأ الهجوم ببساطة، وأتفحص توقيت الاستجابة للطلبات

في لقطة الشاشة أعلاه، يمكنك أن ترى أنه مع زيادة معرف الطلب، يزداد وقت الاستجابة أيضًا. وهذا يعني أن السيرفر عرضة لهذا الهجوم

الآن، يحتاج المهاجم إلى الاستمرار في إرسال الطلبات، مع عدد أكبر من العمال (بمعدل سريع جدًا) وفي النهاية، سيؤدي ذلك إلى حجب الخدمة على السيرفر.

لاحظ أنه لإثبات التأثير على السيرفر، لا تحتاج إلى التسبب في حجب الخدمة. يعد هذا أيضًا خارج نطاق البرامج التي تتسبب في حجب الخدمة فعليًا (على الرغم من أنها قد تقبل ثغرات DoS). مجرد إظهار الفرق في زمن الاستجابة يكفي.

أماكن أخرى للبحث عن هذه الثغرة الأمنية

إذا عثرت على ثغرة أمنية في مكان ما، فمن المحتمل أن تتمكن من العثور على نفس الثغرة الأمنية في أماكن أخرى على تطبيق الويب.

فيما يلي بعض الأماكن الأخرى التي تستحق التحقق إذا وجدت هذا النوع من الثغرة الأمنية: –

  • صفحة التسجيل: يمكن للمهاجم تعيين كلمة مرور طويلة أثناء التسجيل
  • نسيت كلمة المرور: يمكن للمهاجم تعيين كلمة مرور طويلة بعد النقر على “نسيت كلمة المرور”.
  • تغيير كلمة المرور: في إعدادات الحساب، يمكن للمهاجم تعيين كلمة مرور طويلة بعد إدخال كلمة المرور القديمة
  • تغيير كلمة المرور (من لوحة إدارة المؤسسة): يمكن للمهاجم، بعد إنشاء حساب شركة وهمي، إضافة مستخدم جديد، وتغيير كلمة المرور الخاصة به إلى شيء طويل.

نموذج التقرير

أحدث المقالات

المقالات

إثبات الكفاءة: هل شهادات الأمن السيبراني هي الحل الوحيد؟

إثبات الكفاءة: هل شهادات الأمن السيبراني هي الحل الوحيد؟

لقد طرحت مؤخرًا سؤال "ما هي المشكلة التي حلتها شهادات الأمن السيبراني بالنسبة لك؟" على عدد قليل من المنصات المختلفة. أجاب الغالبية العظمى من المشاركين أن الشهادات كانت لتقديم دليل على الكفاءة في بعض المهارات التي تم دراستها أثناء عملية الحصول على الشهادة. كان "إثبات...

قراءة المزيد
دليل المبتدئين في الأمن السيبراني

دليل المبتدئين في الأمن السيبراني

سنقوم بتغطية المواضيع التالية في دليل المبتدئين في الأمن السيبراني : ما هو الأمن السيبراني والفضاء السيبراني المصطلحات ومصطلحات الأمن السيبراني مجالات الأمن السيبراني نماذج الشبكات شهادات الأمن السيبراني التهديدات السيبرانية ماذا يعني مصطلح "Cyber"؟ تعني كلمة "Cyber"...

قراءة المزيد
كيفية التحكم بـ Kali Linux عن طريق الهاتف – دليل شامل للمبتدئين

كيفية التحكم بـ Kali Linux عن طريق الهاتف – دليل شامل للمبتدئين

هل سمعت من قبل عن Kali Linux؟ إن كنت تعمل في مجال الأمن السيبراني، فإن الإجابة ستكون بالتأكيد بنعم. فهي تعتبر نظام تشغيل خاص بالأمن السيبراني والاختبارات الأمنية، والذي يتميز بالقدرة على اختراق الأنظمة الحماية واختبار الثغرات فيها. والأفضل من ذلك، أنه يمكن الآن التحكم...

قراءة المزيد
تصميم أداة فحص الهاتف من الاختراق: دليل خطوة بخطوة

تصميم أداة فحص الهاتف من الاختراق: دليل خطوة بخطوة

أصبح أمن المعلومات في عصرنا الحالي أمرًا حاسمًا وضروريًا، خاصةً مع تزايد استخدام التكنولوجيا والهواتف الذكية. ومن أجل الحفاظ على أمان الهواتف الذكية والبيانات الشخصية المخزنة عليها، يجب اتباع إجراءات الأمان المناسبة، وهذا ما يمكن تحقيقه من خلال استخدام أدوات الاختراق...

قراءة المزيد
إختصار سطر الأوامر في نظام Kali Linux و Termux: دليل لأحتراف المهارات اللازمة

إختصار سطر الأوامر في نظام Kali Linux و Termux: دليل لأحتراف المهارات اللازمة

ما هو سطر الأوامر؟ إذا كنت ترغب في أن تصبح محترفًا في مجال الأمن السيبراني، فإن إتقان إختصار سطر الأوامر في نظام Kali Linux و Termux سيكون ضروريًا لك. سطر الأوامر هو واجهة سطر الأوامر التي يتم استخدامها لتشغيل الأوامر والبرامج على الحاسوب. عندما تستخدم سطر الأوامر،...

قراءة المزيد
تعلم الباش سكريبت من الصفر: دليل مبسط للمبتدئين

تعلم الباش سكريبت من الصفر: دليل مبسط للمبتدئين

ما هو الباش سكريبت؟ إذا كنت ترغب في تعلم البرمجة وتحسين قدراتك في استخدام نظام التشغيل Linux، فإن تعلم الباش سكريبت يمكن أن يكون خطوة جيدة بالتأكيد. يعتبر الباش سكريبت لغة برمجة نصية مثالية لإدارة نظام Linux وإنشاء سكريبتات تشغيلية لتسهيل حياتك. في هذا المقال،...

قراءة المزيد