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

الثغرات الأمنية الاكثر شيوعاً في تطبيقات الاجاكس AJAX

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

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

لنتخيل معاً تطبيقاً بنكياً يستخدم صفحة برمجية صغيرة لعرض ملخص عن جميع حساباتك البنكية Ùˆ عملياتك المالية فيها من سحب Ùˆ إيداع Ùˆ تحويل، عند الضغط على أشارة ” + ” بجانب كل حساب يتم استدعاء الـJavaScript  التي تطلب من واجهة التطبيق البرمجية (API) لجلب أخر عمليات مالية على الحساب البنكي Ùˆ عرضها ضمن مربع يتوسع لذلك، من الثغرات Ùˆ الأخطاء الشائعة في مثل هذه التطبيقات هو عدم تحقق واجهة التطبيق البرمجية (API) من الجهة (المستعرض) الذي قامت بطلب البيانات، هذا هو بيت القصيد الواجهة البرمجية قامت بقبول رقم الحساب Ùˆ قامت بإرجاع أخر خمس عمليات مالية عليه من دون التحقق من أن المستعرض لديه الأذن بطلب هذه العمليات المالية لهذا الحساب، مثل هذه الثغرات Ùˆ الأخطاء Ùˆ إن كانت واضحة  فهي للأسف شائعة جداً .

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

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



4 تعليقات to “ “الثغرات الأمنية الاكثر شيوعاً في تطبيقات الاجاكس AJAX”

  1. يقول ashraf:

    الله يبارك فيك وفى اعمالك

  2. في مثال البنك مثلاً، هل تقصد أنَّ الواجهة API تعمل على تخويل المستخدم في بداية جلسة العمل، ثم تتجاهل هذا التخويل (لا تطلبه) في الطلبات اللاحقة التي يطلبها العميل من الواجهة؟

  3. يقول RedMan:

    نعم اخي حسام حتى انها تطلب التخويل للدخول الى صفحة الحساب لكن واجهة الاستخدام الـ API لا تطلب تخويل .

  4. يقول Abdullalem:

    طيب يا اخي الغزيز ما حلوا هذه المشكلة الى الان؟؟؟!!

اضف تعليق