الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

بخصوص Ollydbg و Bof

مغلقرائج
بدأه hackneyed في 18 سبتمبر 2007 · 54 رد · 5,874 مشاهدة · في لغة Assembly لأنظمة 16, 32, 64 بت
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

سلاام الله عليكم

من مدة و أنا أريد أن أتعلم كيفية ايجاد تغراة الفيض

في أي شرح لتغراة الفيض يشرحون على ملف لا يتعدى أسطره 10 أسطر يعني من سهل أن تلقى أين ممكن أن نجد الخطأ

أنا عندي استفسار واحد و هو

فعند فحص أي برنامج ب olly فكيف أجد السطر الدي به الخطأ

#2

هل تريد الملف word warp = no / off ؟

تم تعديل هذه المشاركة بواسطة Junkie في 18 سبتمبر 2007 في 16:51

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

سلاام الله عليكم

لم أفهم قصدك يا أخي ب

هل تريد الملف word warp = no / off ؟

مرجو التفسير

#4

انس ما قلته اعلاه.

لن تجد ملف ب 10 اسطر يشرح ثغرات الفيض وكيفية اكتشافها لان الموضوع ليس (افتح, اذهب, انظر, اها!, BINGOO!)

لربما تجد الـ concept في 10 اسطر لكن كيف واين ولماذا وبماذا.. هذا تكتب فيه مواضيع يا اخي هل بحثت في الامر قبل السؤال؟

راجع مواضيع المنتدى وهناك موضوع اخير طرحه big boss يحوي على مقالات كثيرة من بينها BOF و Olly لعله يفيدك.

لربما تريد ان تنظر في مواضيع الاخ JAAS على موقعه ايضا.

السلام عليكم

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#5

سلااام الله عليكم

مشكوور أخ junkie على المشاركة

من مدة طويلة و أنا أريد أتعلم كفيةة ايجاد تغراة الفيض و قرأة مواضيع كتيرة ولكن نفس المشكلة

فعندما يفحص برنامجا يدهب لسطر معين مباشرة و يقول لك هدا هو لسطر الدي به الخطأ لا أدري لمادا يدهب الى دللك السطر مباشرة و كيف

مرجوا شرح

سلاام الله عليكم

#6

طيب في البداية, ابحث لي عن فكرة الـ BOF وقلي على اي اساس ترتكز؟

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#7

يحدث Buffer Overflow عندما يظهر برنامج ما متغيّر بحجم ثابت (على سبيل المثال،حجم 20 بايت) و القيمة التي خصّصت إلى هذه المتغيّر أكبر من حجم المتغيّر.

#8

فاذن الـ overflow يحتاج الى متغير او مخزن او buffer يتم وضع البيانات فيه كبداية.

ثم يجب التحقق فيما اذا كان هناك تحقق من ان هذا المتغير يستطيع تحمل البيانات المرسلة اليه ام لا.

صح؟

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#9

صح 100%

#10

بالتالي ما يحدث عندما يظهر BOF ان البيانات التي ارسلت لذلك المتغير تكون بحجم اكبر من حجمه

الأمر الذي يسبب ماذا؟ اقصد الجزء الفائض عن حجم المتغير اين يذهب؟

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#11

الجزء الفاءض يدهب الى جزء من الداكرة (buffer)

#12

كيف يذهب الى جزء من الذاكرة؟

اين يوجد هذا الجزء وكيف يذهب اليه.. لوحده؟؟ اشرح اكثر ما تقصده

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#13

سلاام الله عليكم

جزاك الله ألف خيرا على المتابعة

بخصوص الجواب

مثلا لو ادخلنا 260 بايت المصفوفة اللي حجمها الطبيعي هو 256 بايت وهايفضل 4 بايت سيتم كتابتها علي ذاكرة المكدس علي عنواين ذاكرة اخري وستكون علي التوالي EBP و EIP و ال EBP

#14

وعليكم السلام

تقريبا لكن مش بالضرورة

لانك لا تضمن ان يكون المتغير عنوانه قريب من العناوين الخاصة بـ ESP, EBP

EIP تشير الى عنوان التعليمة الحالية المراد تنفيذها لا علاقة لها في BOF عند احداث الخطأ وانما عندما تريد نقل التحكم الى الجزء الذي تحقنه في الذاكرة حسب معلوماتي البسيطة عن الموضوع.

طيب

اصبحنا على علم بجزء من الأساسيات الآن

اذن ايجاد الخطأ يكمن في ايجاد متغير ضعيف لا يقوم بالتدقيق على طول البيانات المقروءة او المرسلة اليه

تمام لهون؟

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#15

تمااااااام 100%

#16

نقطة نظام:

عما تتحدثون ؟

خلاصة القول ؟ الزبدة ؟ بعد صفحتين

d4baa0.gif
#17

هل نسيت مشوارك مع حمادة أخي محمد؟

------------------

بالتالي كي احصل على فائدة من BOF

يجب ان اتحكم به, وهذا يتم من خلال تنفيذ كود استطيع وضعه ضمن البيانات التي ارسلت بشكل او بآخر

ومن ثم نقل التنفيذ اليها ان لم يكن عنده

نقل التنفيذ يتم من خلال المسجلات ESP, EBP و تعليمة RET او ما شابه

او في مراحل اعقد من خلال الـ Exception Handler

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

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#18

حماده الي طفش...فهمت

نفس الطريق، بوف Bof

d4baa0.gif
#19

سلاام الله عليكم

"لكن في الأول علي ايجاد المتغير المصاب(هدا ما أريد أن أعرفه).. لم لا تجده في البداية( :unsure: )وتنظر ماذا يحدث واين تذهب البيانات(أضن هده الأسئلة جاوبنا عليها بالأول) ثم تفكر بحجمها (يجب ايجاد المتغير المصاب أولا للدهاب الى هده المرحلة) وبشكلها وصيغة ارسالها وما الى هذا؟"

ما فهمت منك شيء ياأخ junkie ممكن توضح أكتر

سلاام

#20

BOF :)

المتغير المصاب سيتبع دالة معينة تستقبل البيانات المرسلة من المستخدم باقرب تصور (مثلا منطقة ادخال نصية) (ابدأ بالامور البسيطة)

لايجاده يجب ان يكون لديك برنامج ما تقوم بفحصه (هل ستفحص الهواء؟)

اين تذهب البيانات اقصد انظر عندما تجد هذا المتغير ماذا يحصل للبيانات وكيف تتوضع, لان كل حالة مختلفة عن الاخرى, انتبه!

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#21

و الله ما فهمت ممكن علشان ان فهمي تقييييييييييييييييييييل :( أو أنك قفزت بي الى مستوى عال جدا

ممكن ناخدها واحدة وحدة

"اين تذهب البيانات اقصد انظر عندما تجد هذا المتغير ماذا يحصل للبيانات وكيف تتوضع"

ممكن تساعد

الله يساعدك و يعينك :)

#22

لا على الاطلاق

نحن ما زلنا في الاساسيات تماما

لماذا تناقش كل شئ مرة واحدة

ابدا من اول سطر قلته لك, ابحث عن مكان يوجد فيه BOF بعدها نكمل فيما قلته.

BOF again :)

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#23

كيف أبحت عن مكان به bof

هل تقصد عن برنامج به bof ?

#24

طبعا برنامج

طبعا ليس بالضرورة ما اقصده بصيغة EXE

DLL, OCX, ... اي شئ ممكن ان يسبب BOF في تطبيق ما (بغض النظر عن الصيغة)

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#25

سلاام الله عليكم

هدا برنامج به فيض war-ftpd

http://hackneyed.ifrance.com/ward165

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…