שיעור 6: XSS — כשהדפדפן מריץ קוד של התוקף
XSS (Cross-Site Scripting) היא אחת מהפגיעויות הנפוצות ביותר ב-Web ומופיעה ב-OWASP Top 10. בפגיעות זו, תוקף מצליח להכניס קוד JavaScript לדף שיורץ בדפדפן של קורבן אחר — לא על השרת. התוקף לא פורץ לשרת; הוא מרמה את הדפדפן של המשתמש לבצע פעולות בשמו.
XSS זה כמו לכתוב הוראה מזויפת על לוח מידעים ציבורי. כל מי שקורא את הלוח עוקב אחרי ההוראה בלי לדעת שמישהו זר כתב אותה.
- XSS (Cross-Site Scripting)
- פגיעות שבה תוקף מזריק קוד JavaScript לדף Web שרץ אצל משתמשים אחרים.
- Reflected XSS
- סוג XSS שבו ה-payload נמצא ב-URL ומוחזר מיד לדפדפן — פוגע רק במי שלוחץ על הקישור הזדוני.
- Stored XSS
- סוג XSS שבו ה-payload שמור במסד הנתונים (למשל בתגובה) ורץ אצל כל משתמש שצופה בדף — מסוכן הרבה יותר.
- גניבת קוקי (Cookie Theft)
- התקפה שבה JavaScript זדוני שולח את הקוקי (ה-session token) של הקורבן לשרת התוקף, מה שמאפשר לתוקף להתחזות לקורבן.
- CSP (Content Security Policy)
- כותרת HTTP שמגדירה ממקורות אילו מותר לטעון JavaScript, ומגבילה את נזקי XSS.