שיעור 7: SSRF ו-IDOR — לוגיקה שבורה בצד השרת
לא כל פגיעויות Web הן הזרקת קוד. SSRF ו-IDOR הן פגיעויות לוגיות — התוקף לא צריך להזריק JavaScript או SQL; הוא פשוט משתמש בפונקציות לגיטימיות של האפליקציה, אבל מפנה אותן ליעדים לא מיועדים. SSRF (Server-Side Request Forgery) מכריח את השרת לפנות ל-URL שהתוקף בחר. IDOR (Insecure Direct Object Reference)
SSRF זה כמו לבקש מהשליח שלך לאסוף חבילה מהבנק שלך במקום מהחנות. IDOR זה כמו לשנות את מספר הקבלה ולקבל את החשבון של מישהו אחר.
- SSRF (Server-Side Request Forgery)
- פגיעות שבה תוקף מכריח את השרת לפנות ל-URL שהתוקף בחר — כולל שירותים פנימיים שלא נגישים מהאינטרנט.
- IDOR (Insecure Direct Object Reference)
- פגיעות שבה אפליקציה מאפשרת גישה למשאב על פי מזהה שמשתמש שולח, בלי לוודא שהמשתמש הוא הבעלים של אותו משאב.
- שירות Metadata פנימי
- שירות פנימי בספקי ענן (כמו 169.254.169.254 ב-AWS) שמספק מידע רגיש על המכונה, כולל credentialים. נגיש רק מהמכונה עצמה — ניתן לנצל דרך SSRF.
- בקרת גישה (Access Control)
- מנגנון שמוודא שמשתמש יכול לגשת רק למשאבים שהוא מורשה לראות — מניעת IDOR דורשת בדיקת בעלות בכל בקשה.