عرض مشاركة واحدة
قديم 06-08-2011, 12:08 AM   رقم المشاركة : 1 (permalink)
معلومات العضو
bleu moon
 
الصورة الرمزية bleu moon
 

 

 
إحصائية العضو








bleu moon غير متواجد حالياً

 

 

إحصائية الترشيح

عدد النقاط : 12
bleu moon is on a distinguished road

افتراضي { ثغــرة الـ buffer over flow } # شروحات مبسطة وتعاريف #


السلام عليكم

سأبدأ في البداية بطرح مقدمة عن هذه الثغرة لنبدأ خطوة خطوة .


نبدأ بشرح بعض المعاني والكلمات المتعلقة بال البوفر اوفر !


( البفر او buffer )
خطأ برمجي يقوم الهاك بأستغلال للتحكم بالذاكرة ممكن يسبب عند حدوث هذا التحكم خطر على النظام بشكل كـامل .

مثـال :



لكل برنامج مساحة مفروضة ومخصصة له :


فعندما تحدث عملية الفيض تحدث عملية تخزين اضافية بالطريقة ذاتها ولكن خارج المساحة المخصصة او المفروضة ( برنامج >> فيضان >> تخزين بيانات خارج المساحة المحددة للبرنامج )


( الهيب او Heap )

هي احدى صور البفر اوفر فلو، و التي تحدث في مساحة ( كومة ) من البيانات - مساحة كمية كبيره من البيانات - و يتم تحديد الذاكرة موضوع الكومه " ديناميكيا " عند بدء تشغيل البرنامج بواسطته، و هي بيانات من البرنامج نفسه.


( الستاكStack )
تحدث عندما تكون حالة الذاكرة بأستخدام كبير
فالستاك يعمل على ان يكون لكل برنامج مساحة مخصصة له يتم حجزها عند تشغيل البرنامج او النظام .

فيقوم البرنامج باستخدام ذاكرة اكبر فتـحدث عملية الفيض .


-=-=-=-=-=-=--=-=-=-


رح أطــرح مثال وان شاء الله بعد هالمثال الكل رح يفهـم كلامي !


نحـنا لو أتينا بكوب من الماء . وقمنا بملئ نصف الكوب مـاء


فالنصف الممتلئ هذه من المساحة المخصصة لللآستعمال والنصف الأخر الفارغ هيا مساحة ايضا للآستعمال :


طيب في حال تم اضافة ماء أكثر من ما يستحمل الكوب ماذا يحدث ؟


تحدث عملية الفيض ويتم تراشق كمية الماء خارج المساحة المحدودة !


وهـذا ما يحدث تمام في البوفر أوفـر :


ولنفتـرض ان هنالك بيانات بمساحة تخزين 1 ميجا


نقـوم نحن بعملية تخزين البيانات ضمن مساحة 1 ميجا فهذا التخزين الصحيح للمساحة المحددة


فأن قمنا بزيادة عدد البيانات وفرضنا على المساحة القيما بعملية تخزين 2 ميجا


سيقوم بحفظ البيانات في مساحة محاذية ولكن خارج حدود المساحة المخصصة لهـا ...


=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=

بعض انواع التغرات : وانواعها كتير :aww: انا اخترت لكم اشهرها عشان ما الخبطكم :sarcastic:

:coool:

نبدئ على بركة الله



buffer under-read

لبرنامج يقرأ البيانات قبل بدء المقصود عازلة ينتج هدا عادة من الترميز السيئ

معنديش معلومات اضافية عن الموضوع لانو لسا جديد


Buffer over-read

البرنامج يقرئ البيانات الماضية نهاية مقصود البوفر او العازلة


Buffer underwrite

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

حتقلي طب يا دجماني كيف حستفيد من الخلابيط دي

حقلك على مهلك يا حبيبي
شوب شوي دا لي راح اكتبو تقريبا 0.001% من لي بيلزمك
او لي انا اصلا عارفو يعني ممكن 100/100 تبعي هي 10/100 الحقيقية رغم الدراسة للاشياء دي في المعاهد

اولا ممكن تستفيد منو في مراقبة الدخول ادا كان الفساد كامل في الداكرة وبكدا ممكن السيطرة عليها بشكل فعال

قد يكون من الممكن تنفيذ قانون تعسفي. واذا كان الفساد مستشريا في الذاكرة هو البيانات بدلا من التعليمات ، فان النظام سيواصل ظيفة لاءقه مع التغيرات ، جعل منها في انتهاك للسياسة ، سواء كانت

ما بعرف بعض المصطلحات بالعربية لدا اعدروني
explicit او implicit
وممكن اسفدة منها في لي نحتاجه نحن بالهكر هههههههههههه :yes:
وهو اعدام تعسفي ، وهذا كثيرا ما يمكن استخدامها لتخريب اي داءره امنية اخرى
وبطبع بتكون النتيجة هي code execution
:shocked:
الان نشوف متال صغير على من الكود الدي يمكن تنجم عنو هدا النوع من الفيضانات


++++++++++

buffer underwrite

يجب ان على ان find() العودة للقيمة السلبية وتشير الى انه لم يتم العثور على ch



واذا كان الرقم الاندكس ل srcBuf هو بطريقة ما تحت سيطره المستخدم ، وهذه هي مسألة تقديرية الكتابة - ما - فيها شرط.

Integer Overflow

لمحاسبيه لل integer overflow ممكن ان تادي الى وقوع اخطاء ولما لا buffer overflow

تحدت اخطاء Integer Overflow عندما يفشل برنامج لحساب لحقيقة :he: أن عملية الحساب يمكن أن تؤدي الى حدوث اما كمية اكبر من البيانات :shocked: نوع الحد الاقصى لقيمة أو أقل من الحد الأدنى لقيمة. هذه الاخطاء :warn: غالبا ما يسبب مشاكل في الذاكرة توزيع المهام ، حيث يتقاطع مع مدخلات المستخدم ضمني التحويل بين توقيع والقيم غير موقع. واذا كان المهاجم يمكن ان يتسبب البرنامج الى وكيل تخصيص ذاكرة او تفسير توقيع القيمه باعتبارها غير موقع القيمه في عملية الذاكرة ، البرنامج قد يكون
عرضة للبوفر اوفر فلو وما ادراك ما البوفر اوفر فلو هههههههه
:whistle:

انصح بمراجعة الكتب التي وضعتها في قسم لغات البرمجة ! علشان تفهموا كل شي في البافر ! السي كثير حلوه وجميــلة احسن انك تتعلمها

:coool:

تحياتي لكم وفي اتنضار الزعيم فولكانو ! :sarcastic:




V eyJJvm hgJ buffer over flow C # av,phj lfs'm ,juhvdt

   

رد مع اقتباس