Web Security
  • Web Applications security - أمن تطبيقات الويب
  • Authentication - المصادقة
    • ما هي المصادقة؟
    • المصادقة في تطبيقات الويب
    • عدم نقل البيانات في اتصال مشفر
    • user enumeration - تعداد المستخدمين
    • Password Attacks - هجمات كلمة المرور
    • Password reset vulnerabilities - ثغرات اعادة تعيين كلمة المرور
    • JSON Web Token (JWT) Attacks
  • Authorization vulnerabilities
    • Directory traversal ثغرة ال
  • Input validation vulnerabilities
    • server side request forgery (SSRF) ثغرة ال
Powered by GitBook
On this page
  • مقدمة
  • الاختبار
  • 1- هجوم ال password brute forcing
  • 2- هجوم ال password spraying
  • 3- هجوم ال credential stuffing
  • الحلول
  • هجمات ال brute forcing
  • هجمات ال password spraying و credential stuffing
  • التخفيف من هجمات كلمة المرور بشكل عام
  • المصادر

Was this helpful?

  1. Authentication - المصادقة

Password Attacks - هجمات كلمة المرور

Previoususer enumeration - تعداد المستخدمينNextPassword reset vulnerabilities - ثغرات اعادة تعيين كلمة المرور

Last updated 4 years ago

Was this helpful?

مقدمة

بعد ما المهاجم (attacker) يجمع اسماء المستخدمين (usernames enumeration) بيبدأ يدور علي كلمات المرور علشان يقدر يستولي علي حساب المستخدم (account takeover) , هشرح ايه اشهر الطرق المستخدمة في معرفة كلمات المرور وايه الطرق المستخدمة لتجنب حدوث الهجمات دي

الاختبار

1- هجوم ال password brute forcing

ال password brute forcing هو هجوم بيعتمد علي تجربة عدد كبير من كلمات المرور (password lists) ضد اسم مستخدم (username) واحد او اكثر لمعرفة كلمة المرور الصحيحة, في ادوات كتير ممكن نستخدمها في العملية دية زي thc-hydra, brupsuite, wfuzz

هنستخدم في الشرح دا ال burpsuite intruder

الintruder بياخد قائمة كلمات المرور (password list)

بنحدد مكان الباسورد في ال request عشان يتم استبدالة بكلمة مرور من القائمة المستخدمة في كل طلب (HTTP Request) الintruder هيبعته للخادم (server)

الintruder جرب كل كلمات المرور, هنلاقي هنا كلمة المرور الصحيحة test

2- هجوم ال password spraying

علي عكس ال password brute forcing في ال password spraying احنا مش بنجرب كلمات مرور كتير ضد مستخدم واحد, احنا بنجرب كلمة مرور (password) واحدة او مجموعة صغيرة من كلمات المرور الشائعة (علي حسب الحد المسموح بيه في تطبيق معين) ضد عدد كبير من المستخدمين علشان نتجنب تعليق حساب المستخدم (account lockout)

تعليق حساب المستخدم هي وسيلة امان لحماية حساب المستخدم ضد هجمات ال password brute forcing

في الهجوم دا استبدلنا قائمة كلمات المرور (password lists) بقائمة اسماء المستخدمين اللي عرفناها من خلال عملية تعداد المستخدمين (users enumeration)

بنحدد لل intruder مكان اسم المستخدم في ال request وبنخلي الباسورد ثابت

ال intruder جرب البسورد ضد قائمة المستخدمين والمستخدم azayed هو صاحبب كلمة المرور

3- هجوم ال credential stuffing

الهجوم دا بيعتمتد علي جمع اسماء المستخدمين وكلمات المرور من قواعد بيانات مسربة خاصة بتطبيقات تانية وتجربتها في تطبيق معين علي أمل ان المستخدم يكون بيستخدم نفس الباسورد في التطبيق المستهدف

الحلول

هجمات ال brute forcing

1- حد معدل الطلبات (rate limiting) : عن طرق حظر تسجيل الدخول من عنوان (IP address) معين

2- تعطيل حساب المستخدم بشكل مؤقت (account lockout) لاكن تجنب التعطيل لمدة طويلة علشان الattacker ميستغلش الاَلية دي في منع المستخدمين من الوصول لحساباتهم بما يسمي هجوم الحرمان الخدمة (denial of service attack)

هجمات ال password spraying و credential stuffing

استخدام المصادقة متعددة العوامل (multi factor authentication) بجانب الباسورد : زي استخدام كلمات مرور مؤقته (OTPs) التطبيق بيبعتها للمستخدم علي الايميل الخاص بيه او رقم الموبايل, او استخدام ال biometric authentication زي استخدام بصامت الاصابع او الوجه لمصادقة المستخدمين

التخفيف من هجمات كلمة المرور بشكل عام

1- عدم السماح للمستخدم بتعيين كلمة مرور طولها اقل من 8 حروف

2- كلمة المرور لازم تتكون من حروف ورموز وارقام

3- عدم السماح للمستخدم بتعيين كلمات مرور شائعة او مسربة: ممكن نتحقق من كلمات المرور المسربة باستخدام ال API الخاصة بموقع HaveIbeenPwned او باي خدمات بديلة

4- تخزين كلمات المرور بشكل اَمن في قاعدة البيانات عن طرق تحويلها ل hash بدل تخزينها بصورة واضحة (plain text) لتجنب كسر كلمات المرور في حالة حدوث تسريب لقاعدة البيانات

-- استخدم hash algorithm قوية زي (Argon2id, PBKDF2)

-- استخدم ال salt مع الباسورد: الsalt دا قيمة عشوائية فريدة بيتم اضافتها لكلمة المرور قبل تمريرها علي ال hashing function لزيادة صعوبة كسر كلمة المرور في حالة حدوث تسريب للبيانات

5- استخدام ال CAPTCHA لمنع عمليات تسجيل الدخول الاَلية

المصادر

1-

2-

https://cheatsheetseries.owasp.org/cheatsheets/Authentication_Cheat_Sheet.html
https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html#maximum-password-lengths