מה עושה X-XSS-Protection?

click fraud protection

X-XSS-Protection הייתה כותרת אבטחה שקיימת מאז גרסה 4 של Google Chrome. זה תוכנן כדי לאפשר כלי שבדק את תוכן האתר עבור סקריפטים חוצי אתרים משתקפים. כל הדפדפנים הגדולים הפסיקו כעת את התמיכה בכותרת, מכיוון שהיא בסופו של דבר מציגה ליקויי אבטחה. מומלץ מאוד לא להגדיר את הכותרת בכלל ובמקום זאת להגדיר מדיניות אבטחת תוכן חזקה.

טיפ: Scripting Cross-Site מקוצר בדרך כלל לראשי התיבות "XSS".

סקריפטים חוצי אתרים משתקפים הם סוג של פגיעות XSS שבה הניצול מקודד ישירות בכתובת האתר ומשפיע רק על המשתמש שמבקר בכתובת האתר. XSS משתקף מהווה סיכון כאשר דף האינטרנט מציג נתונים מכתובת האתר. לדוגמה, אם חנות אינטרנט מאפשרת לך לחפש מוצרים, ייתכן שיש לה כתובת אתר שנראית כך "website.com/search? term=gift" ולכלול את המילה "מתנה" בדף. הבעיה מתחילה אם מישהו מכניס JavaScript לכתובת ה-URL, אם היא לא מחוטאת כראוי, ניתן יהיה להפעיל את ה-JavaScript הזה במקום להדפיס למסך כפי שהוא אמור להיות. אם תוקף יכול להערים על משתמש ללחוץ על קישור עם מטען XSS מסוג זה, ייתכן שהוא יוכל לעשות דברים כמו להשתלט על ההפעלה שלו.

X-XSS-Protection נועד לזהות ולמנוע סוג זה של התקפה. לרוע המזל, במהלך הזמן נמצאו מספר מעקפים ואף נקודות תורפה באופן שבו פעלה המערכת. נקודות התורפה הללו הביאו לכך שהטמעת הכותרת X-XSS-Protection תציג פגיעות של סקריפטים חוצה אתרים באתר אינטרנט מאובטח אחרת.

כדי להגן מפני זה, מתוך הבנה שהכותרת של מדיניות אבטחת התוכן, בדרך כלל מקוצר ל-"CSP", כולל פונקציונליות להחלפתו, מפתחי דפדפן החליטו לפרוש את תכונה. רוב הדפדפנים, כולל Chrome, Opera ו-Edge, הסירו את התמיכה או שבמקרה של Firefox, מעולם לא יישמו אותה. מומלץ שאתרים להשבית את הכותרת, כדי להגן על אותם משתמשים שעדיין משתמשים בדפדפנים מדור קודם כשהתכונה מופעלת.

ניתן להחליף את X-XSS-Protection בהגדרה "לא בטוח-inline" בכותרת ה-CSP. היכולת להפעיל הגדרה זו עשויה לדרוש עבודה רבה בהתאם לאתר, שכן המשמעות היא שכל JavaScript חייב להיות בסקריפטים חיצוניים ולא ניתן לכלול ישירות ב-HTML.