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

ثغرات البرامج buffer overFlow << نقاااااش مفيد

مغلق
بدأه n3rd في 13 ديسمبر 2006 · 27 رد · 3,732 مشاهدة · في لغة Assembly لأنظمة 16, 32, 64 بت
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

جت في بالي فكرة عن موضوع ثغرات البرامج buufer overflow... وقلت خليني أفتح الموضوع

ونبغا واحد يبدأ النقاش عشان نقدر نحاوره !

وخلونا نركز على 3 أشياء:

-الخطأ

-الـEIP ؟ أهميته؟كيف نقدر نستفيد منه؟

ومن ثم الإستغلال.

طبعا ما نبغى عملي نبغى نظري(يعني مجرد كلام ووجهات نظر) لإني راح أفتح موضوع ثاني يتكلم عن العملي(أكواد وتطبيق وتجارب) والبداية الفعلية.

أنا لم أفتح الموضوع هذا إلا وأنا متأكد إنه أغلبكم عنده نبذه عن هذا النوع وطبعا يهمنا (اللي في راسكم) لإنه ربما يوضح أشياء خاطئة لدي أو لغيري وهذه الفايدة من النقاش+تنشيط الحركة في القسم !

يلا...شباب مين يبدأ؟

-0-

#2

وعليكم السلام ورحمة الله وبركاته .

باحاول أجاوب على أسئلتك حسب ما أعرف :

تحدث هذه الثغرة عندما تريد تخزين كمية من البيانات في متغير مخصص له حجم أقل

مثلاً لديك المصفوفة النصية little بحجم 20 بايت وأردت تخزين بيانات فيها بحجم 40 بايت عندها ستحدث هذه الثغرة وهي ثغرة الفيض buffer overflow ، حيث أن عشرين بايت من البيانات المخزنة ستخزن في المصفوفة بينما العشرين البايت المتبقية ستتم كتابتها على البيانات الموجودة في ذاكرة المكدس بعد المصفوفة little .

ومن البيانات الموجودة في ذاكرة المكدس بعد المصفوفة هو عنوان العودة return address وهذا العنوان هو نفس العنوان الذي كان يوجد في المسجل EIP قبل استدعاء الدالة حيث يتم استخراجه من المكدس بعد الإنتهاء من تنفيذ الدالة ليُعاد تخزينه في المسجل EIP ليتم إكمال مسار تنفيذ البرنامج من التعليمة الموجودة بعد تعليمة إستدعاء الدالة .

ويكمن السر في استغلال هذه الثغرة في الكتابة فوق عنوان العودة بعنوان الشل كود الخاص بنا ليعود مسار تنفيذ البرنامج من عند بداية الشل كود بدلاً من أن ينهار البرنامج دون فائدة .

أتوقع أن ما قلته فوق فيه شيء من التعقيد ولكن قريباً إن شاء الله سأنشر درس كامل بالتفصيل الممل عن هذه الثغرة قمت بترجمته من بعض الكتب ومن مواقع متفرقة .

أتمنى أكون قدمت فائدة .

42_47.gif
#3

السلام عليكم ...

موضوع مفيد وجميل ويستحق كل النقاش .

اني احاول فهم الموضوع اكثر من مده وقرأت كثير دروس ومقالات بمواقع اجنبيه مختلفه وطبعا بالمنتدى....

ولكن ما زالت مراحل استغلال الثغره غير مفهومه لدي ,اقصد من ناحيه منطقيه اكثر ...يعني مثلا لماذا دائما وبأي بفر يكون ال EIP بعده تماما ؟ ولماذا اصلا نحتاج الى حدوث فيض بالذاكره لكي يتاح لنا ان نغير عنوان العوده للشل ,الا نستطيع تغير ذالك من دون حدوث فيض ,مثلا عن طريق تحرير الملف نفسوا ببرنامج اسمبلي معين واضافه الشل مع اوامر اسمبلي...وبالتالي الوصول الي نفس الهدف..!!

ما رأيكم بهذا التسأئل ؟

#4
اقتباس
اني احاول فهم الموضوع اكثر من مده وقرأت كثير دروس ومقالات بمواقع اجنبيه مختلفه وطبعا بالمنتدى....

ولكن ما زالت مراحل استغلال الثغره غير مفهومه لدي ,اقصد من ناحيه منطقيه اكثر ...يعني مثلا لماذا دائما وبأي بفر يكون ال EIP بعده تماما ؟ ولماذا اصلا نحتاج الى حدوث فيض بالذاكره لكي يتاح لنا ان نغير عنوان العوده للشل ,الا نستطيع تغير ذالك من دون حدوث فيض ,مثلا عن طريق تحرير الملف نفسوا ببرنامج اسمبلي معين واضافه الشل مع اوامر اسمبلي...وبالتالي الوصول الي نفس الهدف..!!

ما رأيكم بهذا التسأئل ؟

حقيقة الامر الذي يجب معرفته قبل النقاش في موضوع الفيض و استغلاله هو كيف يتم تحميل البرنامج الى الذاكرة و كيفية عمله و طبعا من الأساسيات التي لا يجب اغفالها هو معرفة ولو الشئ البسيط حول بنية الحاسب و من هذه الأساسيات المسجلات

عند تنفيذ اي برنامج تنفيذي فانه يحمل الى الذاكرة و يكون على 3 أقسام Segments :

Code Segment

و هو الجرء التي يتم تخزين الكود فيه و هو للقراءة فقط لذا فان أي محاولة كتابة فيه اثناء تنفيذ البرنامج ستنتج لنا خطأ لذا فهو لا ينفع ان نكتب فيه ShellCode

Data Segment

و هو خاص بالبيانات و المتغيرات العامة المتعلقة بالبرنامج

Stack Segment

و هذا مربط الفرس فعند تنفيذ اي Function في برنامجنا تحمل المعلومات الخاصة بهذه ال Function الى الStack و من هذه المعلومات طبعا المتغيرات و ال Parameters و أيضا عنوان العودة الذي سنعود اليه بعد تنفيذ ال Function طبعا عند تنفيذ اي Function يتم تكوين ما يسمى بال Stack Frame في ال Stack و يكون هناك مسجل اسمه EFP او ما يعرف ب EBP ..

المهم السؤال المطروح هو كيف يحدث الفيض و كيف يمكن استغلاله، قبل الاجابة على هذا السؤال لنرى كود بسيط بالسي++ و هو كود يمكن ان يحدث فيه فيض :

void OverFlow(char * Data){
char Buffer[20];
strcopy(Buffer,Data);
return 0;
}

الكود واضح و بسيط فهو عبارة عن دالة تستقبل نص و تضعه في ال Buffer عن طريق الدالة strcopy و هنا المشكلة فالدالة strcopy لا تقوم بفحص حجم النص الذي سيتم نقله من متغير الى آخر الشئ الذي سيؤدي الى فيض اذا كان النص المستقبل أكبر من 20 بايت و اذا كان كذلك فما تبقى او ما كان زائدا عن 20 بايت سيتم كتابته في الStack على عنواين ذاكرة أخرى و ستكون على التوالي EBP و EIP و ال EBP لن يفيدنا هنا و لكن ما يفيدنا طبعا هو ال EIP و هنا سأعود الى سؤال الأخ TheKiller :

اقتباس
ولماذا اصلا نحتاج الى حدوث فيض بالذاكره لكي يتاح لنا ان نغير عنوان العوده للشل ,الا نستطيع تغير ذالك من دون حدوث فيض ,مثلا عن طريق تحرير الملف نفسوا ببرنامج اسمبلي معين واضافه الشل مع اوامر اسمبلي...وبالتالي الوصول الي نفس الهدف..!!

قد يكون هذا تحليلا منطقيا لكنه خاطئ بكل بساطة لأن مثل هذه التعليمة خاطئة و غير مقبولة :

mov eip,[new address]

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

المهم الدالة السابقة قد تكون في الذاكرة على الشكل التالي :

EIP(8Bytes)

EBP(8Bytes)

Buffer[20]

بمعنى ان ال EIP يأتي بعده EBP ثم Buffer الخاصة بنا و عند كتابة اكثر من 20 بايت في ال Buffer فالبايتات المتبقية تكتب على المسجلات التي تسبق ال Buffer و عند اذ يمكن نقل التنفيذ الى اي مكان بتحديد عنوان ال ShellCode و الذي طبعا سيكون في النص المرسل الى الدالة

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

هذه الامور التي أعرفها و حقيقة لازلت مبتدءا في هذا المجال و اتمنى ان كنت أخطأت في أي نقطة ان يتم تصحيحها من طرف من لديه معلومات اكثر

و السلام عليكم و رحمة الله و بركاته

#5

صراحة نقاش جميل

وضح معظم الأشياء

باقي بس نقرا أمثلة ونطبق مع جاااس :D

انا متفاجأ 77 واحد يدخل الموضوع و3 يردوا بس !!!

شارك ولو بكلمة

لاتخجل

هذا كان الجزء الأول من الموضوع أتمنى الكل يشارك حتى أفتح الموضوع الثاني

أما عن اللي يتساءلوا عن الإستغلال هو مجرد أكثر

عشان تكون محترف إكتشاف ثغرات برامج وأنظمة

أعتقد إنه لازم تكون مية مية في السي

وتعرف للبنية المادية للحاسب

ومعرفة (من غير عمل برامج) بالإسمبلي

وبس !

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

أخوكم خالد

#6

السلام عليكم ...

اولا اخي crazy-man,اشكرك واقدر تكرمك بالشرح وهذه لاني صراحه طرحت عن هذه الموضوع اكثر من مره بعض الاسئله ولم يجبني احد وقد فقدت الامل مسبقا وبهذه الموضوع للاخ جاس ومجهوده الرائع بالمنتدى, ترى استفساري وبالذات عن موضوع الذاكره ,فانت محق قبل البحث وفهم الاستغلال يجب فهم طريقه عمل الذاكره وكيفه تحميل الملف للذاكره اثناء التشغيل ,وهذه ما قمت بسؤال عنه ,(اخر الصفحه)

/index.ph...55137&st=15

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

اسمح لي ببعض الاسئله بالنسبه لردك :

اقتباس
و عند اذ يمكن نقل التنفيذ الى اي مكان بتحديد عنوان ال ShellCode و الذي طبعا سيكون في النص المرسل الى الدالة

طبعا ,حين نتم بحقن عنوان الشلل كود بالنص المرسل للداله ,يجب فعل ذالك بحسابات دقيقه لكي يُكتب عنوان الشلل كود ,بالضبط عن مسجل ال EIP ..هل هذه المعلومات دقيقه وصحيحه ؟

وبالنسبه للشل كود نفسوا ...اين يكتب ؟ او اذ صح التعبير...باي قسم من الملف يحقن..؟

وثاني شي ,بعد اتمام حقن الملف او الكود بالشلل كود ,كيف يتم معرفته عنوان بداية ؟؟ (لكي يتم ارسالها طبعا لنص الداله..)وهذه هذه العنوان يكون محدد..او نستطيع تحديدوا مسبقا ,وهل اذا فعلنا ذالك ,يتغير من جهاز لجهاز ؟؟

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

اخ The_Sniper ,ارجوا عدم نقل الموضوع الى المرحله الثانيه ,الاننا لم نتهني بعد من كل الاساسيات المهمه قبل شرح اي تطبيق .

مشكور للموضوع والمساهمه ...

تحياتي ,,

#7

طبعا يجب ان يكتب العنوان في ال EIP و اعلم انه يوجد دائما بعد ال EBP و كل مسجل يحتوي على 32bits يعني 4 بايتات لذا فمثلا لو كان لدينا Buffer حجمه 10 بايتات فيجب ان تعلم انه من اجل حجز 10 بايتات سوف يتم حجز 2 بايت اضافية ذلك ان الكمبيوتر لا يستطيع ان يحجز اقل من 4 بايتات لذا فمن اجل 10 بايتات يجب عليه حجز 3 * 4 بايتات و هي 12 بايت ثم بعد ذلك يأتي ال EBP ب 4 بايتات و بعد ال EIP و هو كذلك 4 بايتات لذا فمثلا يمكنك كتابة التالي :

char shellcode[] = 
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\x90"
"\xF4\xCB\x12\x00";

كما تلاحط السطر الأول سيتم كتابته في ال Buffer ثم السطر الثاني في ال EBP اما السطر الأخير فيتم كتابته في ال EIP يعني عنوان الانتقال و طبعا يمكنك كتابة CodeShell الذي تريد تنفيذه بعد البايتات الخاصة بال EIP و لكتابة ال ShellCode قواعد يجب اتباعها و يمكنك البحث لمعرفتها و البحث أكثر لمعرفة المزيد

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

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

#8

حلو والله إننا إستفدنا...أخ محمد أتمنى إنك تشارك معنا ولو بكلمة

وأشكر كل الإخوة ................ الذين شاركونـــــــــــــــــــــــــــا

طيب ياشباب السؤال اللييطرح نفسه:

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

ملاحظة:خلونا نتحدث عن البرامج الهشة مو لازم نتكلم عن أشياء كبيرة جدا إنه كلنا في طور التعليم.

س:الشل كود هل يجب أن يكون حجمه صغير؟ولو كان حجمه كبير هل سيتوقف عن أداء عمله؟

نحن فاهمين السبب ونعرف نرقع ولكن الإستغلال ... راح نقول كيف؟

عشان كذا بدأت أضع هالنوع من الأسئلة @#

راح أقرا لي كم مقالة وارجع واعلق معكم.

#9

...ممتاز جدا اخي crazy-man , لكن وقبل ان نبدأ بموضوع كتابه الشل كود نفسوا ..يجب فهم جيداا اين بالضبط يمكن كتابه الشل كود للثغره دخل الملف اوبالمكان المطلوب ..

اقتباس
و طبعا يمكنك كتابة CodeShell الذي تريد تنفيذه بعد البايتات الخاصة بال EIP

لكن هذه ليس حتما صحيح ؟؟ فاذا لدينا عنوان بدايه الشل كود وقد قمنا بكتابة في ال EIP ,فما المانع بامكانيه كتابه الشل كود بعده اماكن بالملف ؟

فمثلا هل يتم كتابته ايضا داخل النص المرسل للداله مثلا ؟؟ ..ارجوا من احد الاخوه شرح هذه النقطه وبالذات ,الانوا بجميع مواضيع الباقيه بالمنتدى عن هذه الموضوع ,شارحين هذه النقطه بشكل عام او كأنها امر بديهي ...

تحياتي ,,

تم تعديل هذه المشاركة بواسطة TheKiLLeR في 23 ديسمبر 2006 في 20:26

#10

والله ياخوي وانا أنبش في المنتدى

قريت إنه أخوي جاس يقول طريقة الإستغلال

إننا نضع الشل كود في مصفوفة ونجعل الـeip يؤشر عليه

ولكن كيف أقدر أخلى الـeip يؤشر عليه؟

أنا من أول أبحث عن كيفية التعامل من الـمكدس

عشان نبدأ نحترف.

أخوكم خالد النويصر من الدمام

تم تعديل هذه المشاركة بواسطة The_Sniper في 23 ديسمبر 2006 في 20:35

#11

...اخي لقد ذكرنا قبل في الاعلى كيفه جعل المسجل EIP يؤشر على بدايه الشل كود او ما وصفه انت بالمصفوفه ...

(اقصد الشرح المتعلق بترتيب المكدس اي حجزه للحجم الازم للداله ومن ثم يأتي المسجل EBP و ثم EIP..ومع بعض الحسابات نستطيع جعل عنوان الشل كود يأتي لمكان الذاكره الخاص ب EIP بالضبط..)

السؤال هنا متفرع لعده ...كيف يتم الحصول على عنوان الشل كود نفسوا الازم كتابته بال EIP ,واي نستطيع وضع الشل كود نفسوا وعلى اي اسس نختار هذه المكان ..؟

ارجوا من الاخ جاس والاخوان المشاركه وتوضيح لنا هذه النقاط ,

اللى القاء ..

تم تعديل هذه المشاركة بواسطة TheKiLLeR في 24 ديسمبر 2006 في 00:37

#12

حسنا أخي

راح أكلم أخوي Qnix

وأخليه يشارك معنا

وإن شاء الله يساعدنا في تكملة هذا النقاش المهم جدا

#13

أأكد لك انناا سوف نكمل هذه التقااش واننا سوف نفهم الباقي الى النهايه ...!

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

اراك لاحقا , ;)

#14

أوكي نو بروبليم

وأحسن 3 أماكن ننبش فيها:

www.milw0rm.com

www.arabteam2000-forum.com

http://packetstorm.linuxsecurity.com/

وأتمنى من الكل المشاركة

أتمنى من الكل وكل من لديه خبرة

وأما أخوي ذا كيلير

أنا أفكر في أن أكتب برنامج جدا بسيط في السي ويكون مصاب ونبدأ نكتب له exploit

هل تريد مننا أن نبدأ الآن أم نؤجل؟ << أنا أتمنى إننا نخليها فكرة مستقبلية .. بعد مانوصل للإكتفاء الذاتي من القراءة :D

أخوكم خالد النويصر من الدمام

#15

والله خلاص

أنا ما أقدر أكمل إلا لما نعمل مثال وراح أجيب Qnix و JAAS وإحتمال كبير إني أجيب الأول لإنه دايم يدش إنترنت

ها؟

رأيكم؟

برنامج صغير ومصاب ونكتب له exploit.c

أخوكم خالد النويصر من الدمام

#16

السلام عليكم.

نقاش رائع جداا و استفدت منه.

لي طلب

انا مازلت مبتدئ واريد تعلم انواع الثغرات وشرح لها فأرجوا من الإخوة مساعدتي في بعض المراجع العربية او الإنجليزية المبسطة او شرح من الإخوة .

و شكراا

infected.png

مدونة علوم الحاسب

#17

طيب خلاص

راح نبدأ بإذن الله بالعملي من غير فتح موضوع جديدة

وراح نكتب برنامج يقوم بطباعة مايدخله المستخدم ومن ثم نكتب له exploit.c

وهكذا .

يعني الإستغلال راح نجعله Local ونتدرب على كذا مثال.

وخطتنا المستقبلية الـremote ولكن خلونا في الـLocal حاليا

أوكي؟

أريد أن أسمع أرائكم

أنا أعتقد إنه كل من تابع معنا واجتهد وقرأ بعض من الكتب وقرأ المناقشة واستفاد منها

راح يحتاج إلى العملي

.

.

.

ماذا قلتم؟

أخوكم خالد النويصر من الدمام :)

#18

اخ DATA_SNIPER هلا بك بالموضوع ,شرفت .

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

http://securitydot.net/articles.php

http://www.securityfocus.com/

لنكمل الموضوع ...

لقد طرحنا بالنقاش اسئله متعلقه بالشال كود بعنوانه واين تتم كتابته ,واعتقد انني فهمت الفكره بعض الشي اثناء تفحصي شرح اساسي عن الموضع ,تستطيعون ايجاده هنا

http://mixter.void.ru/exploit.html --

وسوف اعطي مثل لتوصيل الفكره...

,باحد الاسئله ,لقد سئلنا كيف يمكن الحصول على عنوان بدايه الشل كود لكي نرسله باستغلال الثغره الى مسجل ال EIP ...

وما لاحظته اننا ببساطه نستطيع فعل ما يلي :

لنفحص مثلا طريقه تعريف الشلل بكود الثغره

 
 char shellcode[]=
"\xeb\x17\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46\x0c\xb0\x0b\x89\xf3\x8d"
"\x4e\x08\x31\xd2\xcd\x80\xe8\xe4\xff\xff\xff\x2f\x62\x69\x6e\x2f\x73\x68\x58";

مثلما ظاهر ,فان الشل كود يكتب بمتغير من نوع char وطبعا على شكل مصفوفه...واقف هنا على كلمه مصفوفه ,فالمصفوفه بالسي ,تمثل ايضا بوينتر (مؤشر) اي ان المتغير shellcode نفسوا ,هو يؤشر على بدايه المصفوفه بكلمات اخرى ,يؤشر على بدايه الشلل كود الخاص بستغلال الثغره ; )..

فقد راودتني الفكره ,انه لو استطعنا فقد استخدام هذه الاسم كعنوان البدايه للشل كود ,وارسناه بطريقه او بخرى مع النص للداله لكي يكتب بالمسجل ال EIP .. وبالتالي المسجل EIP يؤشر على بدايه الشلل ومن هنا التنفيذ... لنرى التطيق التالي لما شرحه الان :

#include <stdio.h>
#include <string.h>

int buffover(char X[],char *p);

void main()
{

static char shellcode[]=
"\xeb\x17\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46\x0c\xb0\x0b\x89\xf3\x8d"
"\x4e\x08\x31\xd2\xcd\x80\xe8\xe4\xff\xff\xff\x2f\x62\x69\x6e\x2f\x73\x68\x58";

char buf[40];

static char *x;

gets(buf);

buffover(buf,shellcode);
}


int buffover(char X[],char *p){

char buff[5] = "";
X = "12345";

X[5+4] = p; //p is shellcode address ,X[5+4] => [ 5 bytes for char | 4 bytes EBP | 4 bytes EIP ] 
			// e.x ,if shellcode address is 0x0013f54 then [ 1 2 3 4 5 | 4 bytes EBP | 0x0013f54]

strcpy(buff,X);
puts(buff);

return 0;
}

---طبعاا هذه الكود لا يشكل اي استغلال صحيح لثغره فهو خاطأ من ناحيه حسابات دقيقه ويوجد غلطه كومبيلر حيث عمليه تعويض المؤشر p غير قانونيه ولكن هذه فقط للتوضيح الفكره ---

فهذه البرنامج يشكل ثغره مثلا ,حيث ان الداله buffover تستقبل نص وتقوم نسخه للمتغير buff والذي حجمه 5 بايتز فقط ,فحين يتم استقبال عدد اكبر يتم الفيض .. وكما هو واضح بالكود ,لقد حاولت تطبيق الفكره بكتابه عنوان الشل كود بالتغير X بالضبط بالمكان الصحيح لكي حين تستعمل الداله Strcpy ,يتم كتابه عنوان الشلل كود بمسجل ال EIP (انظر المثل بالكود جانب عمليه التعويض بالداله..) .

اكرر من جديد ان الكود هو مجرد طريقه لتوصيلكم ما افكر به .. فيوجد اختلاق بالطريقه الاستغلال ,وقد يكون اصلا تخميني خاطأ..

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

ارجوا تصحيح الفكره اذا كانت خاطأه ..

لي عوده ان شاء الله ,

تحياتي ,,

#19

أشكرك أخي ذا كيلر على التوضيح

راح أكون متابع معك أول بأول

وأشكرك شكر جزيل على المواقع اللي توي أدري عنها

<< مستعجل جدا ...

,ولكن لي رجعة معك أخي

أخوك خالد النويصر من الدمام :)

#20

شكرا اخي كيلر و إن شاء الله نستفيد من قدرات الأعضاء الموجودين في المنتدى.

infected.png

مدونة علوم الحاسب

#21

هذه موضوعنا وواجبنا ان نتقدم فيه ;) ,

سوف اضع رابط لدرس قرأه من قبل ...فهو يقوم بشرح كل التفاصيل ,بس طبعا مش سهل تستوعب الكل وخصوصا بالانجليزي ولكنه يغطي كثير من النقاط , ادرسوا هذه الدرس فهو يوضح المووضع كثيرا ..

http://milw0rm.com/papers/97

هذه الى الان...اراكم قريبا

في امان الله

#22

الحمدلله الدرس الذي وضعه الأخ ذا كيلر أنصح فيه

لإنه وضح أشياء كثيرة

راح أكون متابع

وخلونا نحاول نعمل بريمج مصاب ونكتب له exploit أبسط

والحمدلله فتحنا المناقشة وها أنا الآن أرى ثمارها

مشكورين وراح نكون متابعين لهذا الموضوع حتى وقت آخر .

سلام

#23

طيب ياشباب أنا الصورة الحمدلله عندي وضحت بنسبة كبيرة جدا ولله الحمد

ولكن قبل شوي قرأت مقالة وهي هذه:

http://www.milw0rm.com/papers/97

ومافهمت وش هو الـ EggShell?

فيعني لو واحد عنده فكرة عنها ياليت يتكرم علينا ويقول لنا وش هي

الأخ ذا كيلر أنا يدور في بالي ثغرات الريموت والله حاس نفسي باكتشف وحدة :D

مادري عندكم نفس الشعور ؟ هههههههههه :D

سلامي أخوكم خالد من الدمام :)

تم تعديل هذه المشاركة بواسطة The_Sniper في 27 ديسمبر 2006 في 15:02

#24

لقد قصد المكان الذي نضع في الشلل كود , قد يكون المكان داخل الذاكره وهو نفسه المكان الذي يجب ان نئشر عليه عن طريق EIP...

ثغرات الريموت هيه نفس الشي تقريباا ولها نفس المبدأ .. لقد قرأت مقال عنها من قبل وسوف ابحث لك عنه

هاا قد وجده --

اقرأ هذه الصفحه

http://www.milw0rm.com/papers/78

وهذه درس اخر

http://www.milw0rm.com/papers/77

اراك لاحقا ;)

تم تعديل هذه المشاركة بواسطة TheKiLLeR في 28 ديسمبر 2006 في 19:26

#25

ردك أثلج قلبي والله

ظننت أنه لا يوجد من يتابع الموضوع ولكن الحمدلله

مشكور أتمنى متابعة الكل !

ولي رجعة,

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

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