مقال : تعرف على ثغرة integer overflow
مرحبا ، اليوم راح نتحدث عن ثغرة 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 يكون احسن و من ثم يكمل السكريبت عمله 🙂 او ان نغير المتغيرات من int الى long ! معلومات عن الثغرة
في مستوى البرامج : ان هذا الثغرة لا تشكل خطرا فقط على المواقع و انما على البرامج ايضا لكن تم حل المشكلة في اغلبية اللغات الحديدثة لكن اغلبية البرامج تم برمجتها من لغات قديمة و قد تشكل الثغرة خطر على حصول crash في البرنامج و ان الكراكيرز يستخدمون هذا الثغرة في تكريك او ما الى غيره .
الحل على مستوى البرامج : تفس الحل السابق ان لا تكون اكبر من الرقم المشؤم 2147483648 ههه او تغيرها الى long بعض من المصادر الذي قد تساعدك :
- http://goo.gl/Y8Owr
- http://goo.gl/L5P5vk
- http://goo.gl/tb1E4J
للتواصل : @RsozDance جميع الحقوق محفوظة لموقع isecur1ty © 2014
جميل
المقال رائع وقد توهمت أن الأخطاء الإملائية كثيرة
تقبلوا اعتذاري 🙂
nice bro
طيب من الممكن اختراق السيرفر عن طريق هذي الثغره ؟
او بس الثغره تسبب كراش لسيرفر وانتهت المفعول ؟
انتظر ردك
nice work pro 🙂
السلام عليكم ورحمة الله وبركاته رائع الثغرة من عائلة Overflow .
ملاحظة يوجد خظىء املائي في البدابية: (مرحبا ، اليوم راح نتحدث عن ثغرة interger) overflow) ،)
integer
اتمنى لك التوفيق بداية جيدة اخي 🙂 تابع .
شكرا جزيلا
قد أفدتني بهذا المقال حقيقة
انا اضفت هذه المقالة على الويكي بيديا العربي كمل جميلك وضع الصور لنها ملكية خاصة بك
https://ar.wikipedia.org/wiki/Interger_overflow