עזרה עם bufferoverflow - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

עזרה עם bufferoverflow


RonCohen

Recommended Posts

אני לא יודע אם מותר לשאול את זה פה אבל אני יבהיר שזה נועד לצורך לימוד ואין לי שום כוונה להשתמש בזה לדברים רעים:P

הכנתי תוכנה ממש פשוטה כדי להבין איך bufferOverflow עובד עכשיו התוכנה בעצם מציגה לי את הכתובת בזיכרון של הפונקציה שאמורה להקרא את הכתובת של הפונקציה שאני רוצה לקרוא לה.

ורישמת הכתובות שנמצאות במכסנית של התוכנה.

עכשיו איך אני משנה את הכתובת בזיכרון.

הנה דוגמא שתבינו מה אני אומר כי אני קצת מסתבך בלהסביר

הנה הכתובת בזיכרון של פונקציה A :0x00405011

הנה הכתובת בזיכרון של הפונקציה B שאותה אני רוצה "להכניס" B:0x00405012

ונהנה הכתובות בזיכרון המכסנית:

00000001

20102568

00405011 הכתובת של פונציה A

00256455

12344556

22333333

איך אני יודע איזה INPUT להכניס כדי לשנות את הכתובת המסומנת באדום שהיא של פונקציה A לכתובת של פונקציה B.

קישור לתוכן
שתף באתרים אחרים

אתה חושב. ברצינות. יצירת exploit-ים זה לא למתחילים.

זה שאתה יודע את הכתובות של הפוקנציות זה לא מספיק (וגם לא בדיוק קשה). אני מניח שאתה מציג לנו את החלק העליון של המחסנית של פונקציה f ש-A קראה לה, ואתה רוצה לשנות את כתובת החזרה כך שהיא תחזור ל-B? האם f מבצעת קלט כלשהו? אולי לתוך מערך בגודל קבוע? אתה יכול לנסות לדרוס את זה שם.

בשלב הזה של הידע שלך, מה שאתה צריך לעשות זה לחפש buffer overflow tutorial בגוגל. יש הרבה. תתרגל כמה כאלה כדי שתבין על מה מדובר.

הנה דוגמא לאחד: http://www.eecis.udel.edu/~bmiller/cis459/2007s/readings/buff-overflow.html

קישור לתוכן
שתף באתרים אחרים

  • 3 שבועות מאוחר יותר...

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...