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

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

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

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

(المزيد…)

الإختبارات الأمنية لتطبيقات الـ AJAX

من أجل تحقيق الفائدة القصوى للاختبارات الأمنية لتطبيقات الـ AJAX هنالك بعض الامور الاساسية المهمة عن الـ AJAX يجب معرفتها و الإحاطة بها و بالتالي نحقق الوصول الى اختبارات قوية و مهيكلة بشكل صحيح تؤمن بعض النصائح و الأفكار حول كل ما هو مريب و يدعو إلى القلق من الناحية الأمنية .

في البداية … في تطبيقات الـ AJAX هنالك قسمين اساسين يتم العمل بينهما بشكل متناغم، بينما في تطبيقات الـ Web 1.0 هنالك طرف واحد يعمل على ذلك Ùˆ لم يكن هنالك داع للقلق تجاه الشيفرة البرمجية التي تنفذ في طرف المستخدم حيث ان الشيفرة في ذلك الطرف لا تمتلك اي مخاطر امنية عند تطبيقها في مستعرض الإنترنت، عند اجراء الإختبارات الأمنية كان التركيز الأهم في الإختبارات الأمنية متجهاً نحو المخدم Ùˆ وظائفه Ùˆ ما يتم تنفيذه عليه، أما في تطبيقات الـ AJAX هنالك شيفرة برمجية خطرة تعمل في طرف المستخدم يجب الانتباه إليها .

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

تطبيقات الاجاكس AJAX ببساطة

AJAX هي اختصار للكلمات (Asynchronous JavaScript and XML) أي JavaScript Ùˆ XML غير التزامني. Ùˆ هي تمثل اساس التقنيات لما يسمى “Web 2.0” Ùˆ الفرق بين Web 2.0 Ùˆ Web 1.0 يكون واضحاً عند مشاهدة التفاعل بين تطبيقات الويب Ùˆ المستخدم. تطبيقات Web 1.0 تطبيقات بسيطة جداً. إذا نظرت الى تطبيقات Web 1.0 ستشاهد بعض الكتل Ùˆ الروابط التشعبية Ùˆ النماذج، تضغط على الروابط لتملئ من ثم النماذج ببعض المعلومات Ùˆ من ثم تضغط على زر الإرسال، Ùˆ بذلك ترسل المعلومات التي قمت بإدخالها Ùˆ من ثم تتلقى الاستجابة Ùˆ النتيجة.  تطبيقات Web 2.0 هي أكثر تفاعلية لست بحاجة لإعادة تحديث الصفحة او تحميل صفحة جديدة لإنك نقرت على زر ما، بدلاً من ذلك يمكنك طلب طلبات صغيرة Ùˆ مستقلة Ùˆ غير متزامنة من المخدم ليتم تحديث جزء من الصفحة دون اعادة تحميلها كاملة. الـ JavaScript تعمل داخل صفحات التطبيق Ùˆ يمكنها ان تحدد – لإي سبب من الأسباب – انك بحاجة الى بيانات معينة فتطلبها Ùˆ تعيدها إليك دون ان تنقر نقرة واحدة .

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