GammaCyber

כתיבת קוד — שיעור 45

ROP Chains

כל 1 משימות הקוד שנשמרו מהשיעור מופיעות כאן, עם דרישות, דוגמאות וקוד פתיחה. אפשר לכתוב פתרון בעורך המקומי וללחוץ על „בדיקת AI” לקבלת ציון, רמזים והערות.

T3 · בינוני300 נק'~12 דק'analysis
למה ASLR דורש דליפת-כתובת
ASLR ממקם את הספריות (libc) בכתובת אקראית בכל הרצה. כדי לבנות שרשרת שמשתמשת בכתובות libc, מה התוקף חייב להשיג תחילה? (a) Stack Canary (b) דליפת כתובת (info leak) לחישוב הבסיס (c) כיבוי NX (d) buffer גדול יותר
דוגמאות
(פורמט) → אות
פתרון-ייחוס למה ASLR דורש דליפת-כתובת ›
b — עם ASLR הכתובות משתנות בכל הרצה, ולכן צריך תחילה *לדלוף* כתובת ידועה (למשל מ-GOT) כדי לחשב את בסיס ה-libc. זו הסיבה שהגנות leak-resistance חשובות.
הפתרון נשמר מקומית אוטומטית.