تخطي إلى المحتوى

حالة استخدام

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

الأهداف

بعد استكمال هذا الموضوع الفرعي، سيتمكن الممارسون من العثور على نقاط الضعف في تطبيقات الويب المتعلقة بالتحايل على آليات التطبيق نفسه ويمكن أن يتعلق ذلك بآلية التطبيق نفسها أو آليات الخادم أو حتى مزايا متصفحات الويب.

يجب أن يكونوا قادرين أيضًا على العثور على الأنواع التالية من الثغرات واستغلالها:

  • ثغرات منطق العمل
  • حالات التعارض
  • فرط كشف المعلومات
  • تزييف الطلبات عبر المواقع
  • ثغرات تحميل الملفات

العرض

ما هي ثغرات منطق التطبيق؟

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

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

ثغرات منطق العمل

من الواضح أن اسم “ثغرات منطق العمل” نشأ في مجال اختبار التطبيقات المتعلقة بالتجارة ولكن يمكن للمرء ببساطة حذف كلمة “العمل” من اسمها، ولكن نُضمّن الكلمة لأن المصطلح شائع بين الموارد التي تتحدث عن اختبار التطبيق. على أي حال، تُجمع هذه الثغرات معًا من حيث أنها تتعلق أكثر بالآليات المجرّدة لمعالجة البيانات داخل التطبيق.

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

حالات التعارض

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

توجه إلى موضوع حالات تعارض أكاديمية بورت سويغر واستكمل القراءة والمخابر.

فرط كشف المعلومات

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

توجه إلى موضوع كشف المعلومات في أكاديمية بورت سويغر وأكمل القراءة والمخابر.

تزييف الطلبات عبر المواقع

يُعدّ تزييف طلب المواقع المشتركة نقطة ضعف مثيرة للاهتمام تنشأ عن التفاعل بين مواقع الويب والمتصفحات. راعي خدمة الدفع بين النظراء يُقبل فيها طلبات غت (GET) مثل http://victim.com/transfer?to-account=xyz&amount=123. تسمح بشكل صحيح فقط للمستخدمين الذين تمت مصادقتهم بتحويل الأموال عن طريق التحقق من ملفات تعريف الارتباط الخاصة بجلستهم. لكن إذا نشر مهاجم رسالة في منتدى عبر الإنترنت تحتوي على رابط صورة مثل <{4>img src=“http://victim.com/transfer?to-account=xyz&amount=123">، فماذا سيحدث؟ في كل مرة يشاهد فيها شخص ما المنشور سيرى متصفحه وسم الصورة ويحاول تحميلها، وسيرسل طلبًا إلى victim.com بالطبع يشمل ملفات تعريف الارتباط الخاصة بالموقع. إذا كان المستخدم قد سجل الدخول بالفعل إلى موقع الدفع فسيؤدي ذلك إلى تحويل الأموال إلى حساب XYZ. تتمثل المشكلة هنا بأن لغة تمييز النص التشعبي وجافا سكريبت تسمحان لمواقع الويب بالتسبب في قيام متصفحات المستخدمين بإرسال طلبات إلى مواقع أخرى والتي تتضمن افتراضيًا ملفات تعريف الارتباط الخاصة بالموقع الآخر. توجه إلى موضوع تزييف طلب المواقع المشتركة لأكاديمية بورت سويغر وأكمل القراءة والمخابر.

ثغرات تحميل الملف

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

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

<?php echo system($_GET['command']);?>

To add a password to this, we merely change it to this:

<?php
_if_ (_$\_GET_['password'] _==_ 'A super-secret password only I know.') {
    _echo_ system(_$_GET_['command']);
} _else_ {
    http_response_code(404);
}
?>

سيضمن ذلك أن أي شخص يعثر على شل الويب خاصتك المخصصة للاختبار لن يتمكن من استخدامها لأغراضه خبيثة. تأكد من قراءة وفهم كيفية عمل شل الويب قبل تحميلها وعليك التأكد من أن الشل ستنفذ فقط ما تطلبه منها ولن تخاطب أي خوادم أخرى.

اختبار مهارة

تحتوي أكاديمية بورت سويغر على سلسلة من المخابر التي يمكنك استخدامها لاختبار مهاراتك والتحقق منها ولكل موضوع من المواضيع التالية، أكمل 1-3 من مختبرات مستوى “الممارس”:

إذا كنت تعمل مع زميل أو مرشد اشرح له كيفية عمل كل هجوم وكيف ستبحث وتثبت إمكانية استغلال نقاط الضعف المماثلة في الموقع الذي كنت تفحصه

موارد التعلّم

Web shells

Free

Overview of what a web shell is and its potential use in attacks.

اللغات: English, Kurdish, Chinese, Korean, French, Lombard, Hindi, Malayalam
زيارة الموقع

Webshells | Kali Linux Tools

Free

Overview of webshells available in a default Kali Linux installation.

اللغات: English
زيارة الموقع