مرحبا ، اليوم راح نتحدث عن ثغرة interger overflow ، نبذة عن الثغرة : نعرف
ان الكمبيوتر فيها بايتات و ان لكل بايت مساحة محدودة يمكن الحفظ فيها .
مثلا في الصورة السابقة نشاهد ان الرقم 999999 اذا ما اضفنا عليها ١ قد
يصعب على الجهاز ان يكتب 1000000 فيعود الى ٠ و هذا نفسها مثل البايتات اي
لو قمنا بكتابة رقم اكبر من 2147483648 او 2147483648- قد يحدث crash في النظام ! كيف ؟ معلومات اكثر عن الثغرة في مستوى المواقع و السيرفرات: هذا
النوع من الثغرة تكون دائما على سيرفرات الوندوز ! لماذا لان في لغة برمجة
الphp كم كانت الرقم لن يحدث اي فرق لكن في لغة برمجة asp.net يقوم
المبرمج بتعريفها كمتغير int او ما الى اخره … و هذا هو احد مشاكل او عيوب
لغة برمجة asp.net لكن في لغة برمجة php لاتوجد مثل هذا الانواع من الثغرات
لان php يقوم بغزن الارقام الكبيرة في مكانين او يقسمها $ لا اعرف
بالتاكيد السر لكنها لا تآثر عليها !
كشف الثغرة في مستوى المواقع و السيرفرات؟ الثغرة موجودة في الاف و الاف المواقع الموجودة على سيرفرات الوندوز و يمكن الكشف عنها من خلال ١- يجب ان تكون السيرفر وندوز { كيف تعرف ؟ سهلة فقط اجلب اي بي السيرفر و حطها في اداة الnmap و راح يقول لك نظام السيرفر}
٢- حاول ان تكشف مكان يطلب منك ادخال رقمي او مثلا ناخد مثال : لدينا موقع اسمه rsoz و رابطها www.example.com هذا الموقع عبارة عن مدورنة و عندما تدخل على مدونة الرابط يتغير الى مثلا : www.example.com/?readMore=12 اي هنا يطلب من السيرفر جلب الموضوع الذي الايدي الموضوع هي 12 ثم يعرضها لك ، لكن ماذا لو جربنا ان نقوم بكتابة رقم اكبر من 2147483648 ?? سنشاهد هذا :
اخطار الثغرة في مستوى المواقع و الثغرات: لو سبق و كشفت الثغرة و انزلت الصفحة سترى الكثير من الاكواد $ ، لغة الasp يقوم بعرض جميع السورس للملف الذي فيها الخطاء و يعطيك ياعتقاده انها ستساعدك لكن في php يعطيك سطر الخطئ . من هذا السورس من المحتمل الحصول على يوزر و اسم الداتابيس او معرفة بعض من سورس الموقع الذي قد تفيد ! و ايضا لو بحثت في قوقل حول server error ‘/’ applacation ستجد انها دلائل على وجود ثغرة SQL Injection (ليس في كل مرة !) و ايضا تساعدك هذا الثغرة في معرفة اصدار النظام و الفريم ورك الذي يكتب في اخر الصفحة & و اذا وجدت ثغرة في هذا الاصدار فمن الممكن اختراق السيرفر من خلال metaspliot او غيرها !
الحل في مستوى المواقع و السيرفرات : ؟
في الحقيقة لا توجد حل واضح و جيد لكن برمجيا فكرت و اتت في خيالي الحل الاتي : ان تقوم بوضع if اذا كانت الرقم المدخلة اكبر من القدر او try يكون احسن و من ثم يكمل السكريبت عمله
في مستوى البرامج : ان هذا الثغرة لا تشكل خطرا فقط على المواقع و انما على البرامج ايضا لكن تم حل المشكلة في اغلبية اللغات الحديدثة لكن اغلبية البرامج تم برمجتها من لغات قديمة و قد تشكل الثغرة خطر على حصول crash في البرنامج و ان الكراكيرز يستخدمون هذا الثغرة في تكريك او ما الى غيره .
0 التعليقات