פורסם 2014 בינואר 1711 שנים אני לא יודע אם מותר לשאול את זה פה אבל אני יבהיר שזה נועד לצורך לימוד ואין לי שום כוונה להשתמש בזה לדברים רעים הכנתי תוכנה ממש פשוטה כדי להבין איך bufferOverflow עובד עכשיו התוכנה בעצם מציגה לי את הכתובת בזיכרון של הפונקציה שאמורה להקרא את הכתובת של הפונקציה שאני רוצה לקרוא לה. ורישמת הכתובות שנמצאות במכסנית של התוכנה. עכשיו איך אני משנה את הכתובת בזיכרון. הנה דוגמא שתבינו מה אני אומר כי אני קצת מסתבך בלהסביר הנה הכתובת בזיכרון של פונקציה A :0x00405011 הנה הכתובת בזיכרון של הפונקציה B שאותה אני רוצה "להכניס" B:0x00405012 ונהנה הכתובות בזיכרון המכסנית: 00000001 20102568 00405011 הכתובת של פונציה A 00256455 12344556 22333333 איך אני יודע איזה INPUT להכניס כדי לשנות את הכתובת המסומנת באדום שהיא של פונקציה A לכתובת של פונקציה B.
פורסם 2014 בינואר 1711 שנים אתה חושב. ברצינות. יצירת exploit-ים זה לא למתחילים.זה שאתה יודע את הכתובות של הפוקנציות זה לא מספיק (וגם לא בדיוק קשה). אני מניח שאתה מציג לנו את החלק העליון של המחסנית של פונקציה f ש-A קראה לה, ואתה רוצה לשנות את כתובת החזרה כך שהיא תחזור ל-B? האם f מבצעת קלט כלשהו? אולי לתוך מערך בגודל קבוע? אתה יכול לנסות לדרוס את זה שם.בשלב הזה של הידע שלך, מה שאתה צריך לעשות זה לחפש buffer overflow tutorial בגוגל. יש הרבה. תתרגל כמה כאלה כדי שתבין על מה מדובר.הנה דוגמא לאחד: http://www.eecis.udel.edu/~bmiller/cis459/2007s/readings/buff-overflow.html
פורסם 2014 בפברואר 711 שנים מסכים וחושב שגם כדאי לך לשחק קצת עם OllyDbg לפני שאתה מתחיל.אתה יכול גם לנסות לפתור כמה CrackMe בסיסיים. זה ייתן לך כיוון כללי.בהצלחה!
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.