في أحد أعمال إختبار الإختراق الأخيرة التي قامت بها المجموعة، كانت هناك صفحة تطلب اسم المستخدم وكلمة المرور٬ وكنا في هذه المرحلة قد حصلنا على مجموعة كبيرة من أسماء المستخدمين وحان الوقت لتجربة بعض كلمات السر عليهم. لنفرض أن لديك ٣٠٠ اسم مستخدم وتريد تجربة أربع كلمات سرية على كل اسم مستخدم. في أسوء الحالات ستحتاج لما يقارب من ١٢٠٠ طلب لهذه الصفحة لتجربة كل الإحتمالات. في غالب الأحيان يكون هذا النوع من الصفحات محمي ضد هجمات Brute Force وهو عبارة عن هجوم يتم فيه تجربة احتمالات كسر الكلمة السرية بإرسال جميع الإحتمالات إما عن طريق توليد كلمات سرية أو استخدام “قاموس” ملف يحتوي على كلمات سرية محتملة. وللحماية من هذا النوع من الهجمات هناك طرق مختلفة مثل تعليق الحساب عند اكتشاف محاولات الدخول الخاطئة الكثيرة، حظر الـIP للمهاجم أو استخدام Captcha عند محاولة الدخول الخاطئة لأكثر من مره. طرق الحماية هذه وغيرها لها إيجابيات وسلبيات ويمكنك القراءة هنا للإستزادة.

هدفنا كان بستخدم Captcha للحماية من هذه الهجمات، فبعد عدد معين من المحاولات يتم تحويلك لصفجة تحتوي على الـCaptcha وعند ادخال الكلمة الصحيحة يتم تحويلك للصفحة السابقة لإدخال اسم المستخدم وكلمة المرور. نحن نستخدم Burp Suite بشكل مكثف في اختباراتنا، وتم استخدامه هنا لتجربة الدخول بأسماء المستخدمين وكلمة المرور بطريقة آلية، لم نتمكن من ذلك بسبب تحويلنا لصفحة الـCaptcha. هنا يكمن جمال إختبار الإختراق واستخدام المهارات لمحاولة تخطي أنظمة الحماية حتى الوصول للهدف بأسهل الطرق وأقلها تكلفة. كان بالإمكان استخدام احد برامج كسر الكابتشا، فالكابتشا المستخدمة في هذه الإختبار كانت بسيطة، أو جعل عملية الـBrute Forcing عشوائية وتقليل الوقت بين كل طلب حتى لا يتم تحويلنا للكابتشا. اخترنا تحليل الطلب والرد بيننا وبين السيرفر لمعرفة كيف يتم التحويل لصفحة الكابتشا

احد القيم في الـCookie يتم ارسالها عند دخولك للسيرفر من اول مره وهي ASP.NET_SessionId. كان الحل بسيط جداً، عدم إرسال القيمة ASP.NET_SessionId :). قمنا بإعادة ضبط Burp Suite Intruder لتجربة كسر الكلمات السرية للمستخدمين وفي كل طلب لايتم ارسال المتغير ASP.NET_SessionId فيعتبرنا السيرفر مستخدمين جدد ويقوم بإعطائنا قيمة جديدة. وتمت عملية الـBrute Forcing بنجاح :) وتخطي حماية الـCaptcha بطريقة بسيطة وهي عدم ارسال قيمة معينة في الكوكيز.