מתי שרת האתר פונה לכתובת שמגיעה מבחוץ
יצירת תצוגה מקדימה לקישור, יבוא תמונה ושליחת webhook ליעד שהלקוח מגדיר הן דוגמאות לתהליכים שצריך למפות. עצם קיום התכונה אינו מוכיח חולשה; השאלה היא איך נקבע יעד הבקשה ואילו בקרות מגבילות אותה. כתובת שנראית חיצונית בתחילת התהליך אינה תחליף לבדיקה של החיבור בפועל.
בסקירה ממפים מי מזין את הכתובת, איזה רכיב מעבד אותה, אילו הרשאות יש לתהליך ומה הוא מחזיר למשתמש. חשוב לברר גם מה נשמר בלוגים ומה קורה בכשל. מיפוי זה מאפשר לבקש בדיקה מקצועית בהיקף מוגדר בלי להתנסות בכתובות פנימיות של מערכת חיה.
הגנה נבחנת לפי היעדים שהעסק באמת צריך
OWASP מבחין בין תהליך שפונה למספר יעדים מוכרים לבין תהליך שצריך לפנות ליעדים ציבוריים מגוונים. במקרה הראשון אפשר לתכנן רשימת יעדים מורשים; במקרה השני נדרשות בקרות מתאימות לפענוח כתובת, DNS וטווחי רשת. הפניות אוטומטיות עלולות לשנות את היעד ולכן דורשות מדיניות מפורשת.
| שלב | שאלה לבדיקה | גבול תכנון |
|---|---|---|
| בחירת יעד | האם נחוצים יעדים קבועים או כתובת חופשית | לא לפתוח בחירה מעבר לצורך |
| פענוח כתובת ו-DNS | לאן הבקשה אמורה להתחבר בפועל | בדיקה טקסטואלית בלבד אינה מספיקה |
| הפניה לכתובת אחרת | האם מותר לעקוב אחריה | לא לאשר יעד חדש אוטומטית |
| יציאה מהרשת | אילו יעדים ושירותים נגישים לתהליך | לצמצם גם בשכבת הרשת |
דוגמה: יבוא תמונת מוצר מקישור
התרחיש להמחשה בלבד. חנות מאפשרת למנהל להזין כתובת תמונה כדי שהשרת ייבא אותה. הצורך העסקי הוא תמונה ממקור מורשה, ולא גישה לכל משאב שהשרת מסוגל להגיע אליו. האחראי מגדיר מקורות, סוגי תוכן ומגבלות תפעול בהתאם למערכת ולספק.
ניסוי הקבלה נעשה בסביבה מורשית עם יעדים נשלטים ונתוני ניסיון. הוא בוחן שהתמונה המותרת מתקבלת ויעד שמחוץ למדיניות נדחה באופן צפוי. אין צורך לפרסם כתובות פנימיות, מפתחות ענן או דוגמאות ניצול כדי להסביר לבעל העסק את הסיכון ואת תוצאת התיקון.
מה ההבדל בין SSRF, XSS ו-CSRF
SSRF עוסק בבקשות שהשרת מוציא. XSS עוסק בתוכן פעיל לא רצוי בהקשר הדפדפן, ו-CSRF בבקשה לפעולה תוך שימוש בהקשר מאומת. ההבחנה חשובה מפני שבקרת דפדפן אינה מחליפה הגבלת יעדים בצד השרת. גם תעודת HTTPS תקינה אינה אישור עסקי לפנות ליעד מסוים.
ממצא SSRF צריך לפרט זרימה וגבולות גישה, ולא רק שם חולשה. אם בוצעה פנייה לא מורשית, בירור היקף החשיפה נפרד מתיקון מנגנון הכתובות. לא מסיקים מדוח שהייתה גניבת מידע בלי ראיות, ולא מסיקים מתיקון בודד שכל חיבור יוצא אחר נבדק.
מה צריכה לכלול מסירת התיקון
בקשו תיאור הרכיב והגרסה, מי שולט בקלט, מדיניות היעדים והבקרות שנבדקו. הראיה צריכה להראות גם תפקוד מותר וגם דחייה של מצב לא מורשה, בהיקף מוסכם. מציינים אם הפניות, IPv4 ו-IPv6 ושינויי DNS רלוונטיים לתכנון, ואת ההנחות שנותרו לבדיקה.