PracticU

התקפת Reflected XSS
רמת אבטחה נמוכה באתר DVWA

בלי כתוביותעם כתוביות
PracticU › קורס פריצה ומבדקי חדירה לאתרי אינטרנט - בדיקות חוסן לאתרים - Web Pentesting - קורס זה נדרש למבחן ההסמכה היוקרתי OSCP › התקפת Reflected XSS רמת אבטחה נמוכה באתר DVWA
מילון מושגים:
XSS - חולשה באתרים שבה תוקף מחדיר סקריפט זדוני לדף שמוצג למשתמשים אחרים ורץ בדפדפן שלהם.
Kali Linux - הפצת Linux המיועדת לבדיקות אבטחה וחדירות, הכוללת אוסף כלים לבחינת מערכות.
פרוקסי - שרת מתווך שמעביר בקשות בין לקוח ליעד, ויכול לשמש להסתרה, לסינון, למטמון או לבקרת גישה.
JavaScript - שפת תכנות שרצה בעיקר בדפדפן ומוסיפה אינטראקטיביות לדפי אינטרנט. רצה גם בצד השרת באמצעות Node.js.
URL - הכתובת שמזהה משאב באינטרנט, למשל דף אתר, וכוללת פרוטוקול, שם מארח ונתיב.
עוגייה - קובץ קטן שאתר שומר בדפדפן כדי לזכור מידע על המשתמש בין בקשות, למשל מצב התחברות או העדפות.
סשן - פרק זמן של פעילות רציפה בין משתמש למערכת, שבו נשמר מידע על מצבו, למשל לאחר התחברות לאתר.
GET - שיטת HTTP לבקשת מידע מהשרת בלי לשנות אותו. הפרמטרים מועברים בדרך כלל בכתובת.

התקפת Reflected XSS רמת אבטחה נמוכה באתר DVWA
ההרצאה מדגימה במעבדה את הסוג הראשון, Reflected XSS, באתר DVWA הפגיע שרץ על Metasploitable. הסיכום הוא רעיוני בלבד.
מה רואים בהרצאה
המעבדה כוללת מכונת תוקף ב-Kali עם שרת web שמקבל את המידע הגנוב, פרוקסי שמציג את התעבורה בהיסטוריה, ודפדפן שמנותב דרכו. האתר הפגיע נמצא ברמת אבטחה Low. נקודת הכניסה היא שדה שם שמוצג בחזרה בעמוד.
הרעיון שמאחורי ההתקפה
1. סימן לחשד: כשהערך שהוזן מופיע בחזרה בעמוד, כלומר יש השתקפות, כדאי לבדוק אם האתר חשוף.
2. הוכחת קונספט: הודעה קופצת פשוטה מוכיחה שהאתר מריץ JavaScript שהגיע מהקלט.
3. הקישור: הערך נשלח בפרמטר ב-URL, ולכן אפשר להפוך אותו לקישור שהקורבן ילחץ עליו. שום דבר לא נשמר בדאטאבייס.
4. הסיבה לבעיה: בקוד המקור של הדף השרת לוקח את הפרמטר ומדפיס אותו בלי בדיקה. הדפדפן לא יכול להבחין בין סקריפט של המפתחים לסקריפט שהוזרק, ולכן הוא מריץ את שניהם.
5. הנזק: קוקי הסשן הוא הזהות של המשתמש. בהדגמה הקוקיז הגיעו לשרת של התוקף.
מה צריך כדי שזה יעבוד
מה שנשלח לשרת חייב להשתקף בחזרה ב-HTML, והשרת לא מקודד אותו. אם השרת מקודד את הקלט, ההתקפה נכשלת.
אחרי ההרצאה אפשר להסביר למה השתקפות ללא קידוד היא הסימן שחושפים בו חולשת XSS, ואיך נראית בקשת GET עם ערך מקודד ב-URL.
השיעור הבא בקורס: התקפת Reflected XSS רמת אבטחה בינונית באתר DVWA

פרקי ההרצאה: התקפת Reflected XSS רמת אבטחה נמוכה באתר DVWA

  1. 00:00

    הכנת אתר איסוף ה-Cookies

  2. 00:37

    הגדרת פרוקסי לניתוח

  3. 01:34

    כניסה לאתר התרגול DVWA

  4. 02:50

    הזרקת סקריפט בשדה הקלט

  5. 03:48

    שליחת הקישור לקורבן

  6. 05:00

    גניבת ה-Cookies

תמלול ההרצאה: התקפת Reflected XSS רמת אבטחה נמוכה באתר DVWA

הטקסט המלא של הדקות הראשונות בהרצאה «התקפת Reflected XSS רמת אבטחה נמוכה באתר DVWA» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    טוב חברים, בואו נתחיל תכלס לעשות XSS התקפות. נתחיל מזה שנפעיל אתר אינטרנט שלנו פנימי שאליו יתנגזו כל מה שנגנוב.

  2. 00:15

    כל מה שנצליח לגנוב, כל הקוקיז שנצליח, יתנגזו לנו פה לתוך אתר ה-Web. זה האתר של האקר. לכאן הוא מנסה לנווט את כל התעבורה.

  3. 00:26

    הסקריפט יביא לפה את הקוקיז. אוקיי, if config, אני רואה שהכתובת שלי היא 122-153, יפה, לא השתנת. בקיצור, יש לי פה אתר אינטרנט שפועל בתוך קאלי ואני הבן אדם הרע.

  4. 00:41

    עכשיו אנחנו נפתח קודם כל ככה, נפתח ב-Orp, שיהיה לנו פרוקסי, שנוכל לראות מה עובר על הכבל. אנחנו פותחים הכל ברירת מחדל ולא מעדכנים אותו, כי מה שיש לו זה מספיק לי.

  5. 00:54

    אני שם פרוקסי, מפעיל את הפרוקסי ואומר לו אל תחטוף, אל תעצור תקשורת, כל מה שיעבור דרכך יהיה לי פה בהיסטוריה אז אני רוצה פרוקסי hdp היסטורי ואם אני צריך אני אכנס פה להיסטוריה שהכל יעבור דרכו כאשר הוא בעצמו מאזין בip כזה וכזה בפורט כזה וכזה לכאן לip הזה צריך לשלוח את הדבדפן שהדבדפן יעביר הכל לפרוקסי ופרוקסי יעביר את זה הלאה

  6. 01:22

    ויהיה לי פה היסטוריה עכשיו בואו נפעיל את הדבדפן שלנו מפעילים את הדבדפן ובתוך הדפדפן אנחנו נפעיל את הפרוקסי מי שלא ראה עדכנתי את הפלאגין הזה שזה נקרא פוקסי פרוקסי בסרטים קודמים והגדרתי לו פה באופצ'אנס של הפלאגין שיעביר את הכל ל-127-80-80 בתוך דפדפן שזה בדיוק הפרוקסי בקיצור כרגע כל מה שאנחנו נעשה ילך לנו דרך הפרוקסי ונוכל לראות את

  7. 01:53

    זה בואו נתחיל נעשה HTTP ל-192.168.188 זאת כתובת IP של המכונה הזאת פה השנייה כרגע אני פורץ לתוך מכונה שלי שנקראת Metasploitable 2 ויש פה שני אתרי אינטרנט אחד נקרא מוטילידי ו-DVWA אנחנו עכשיו נתחיל בזה אחרי זה נעשה את השני אנחנו הולכים לראות את הכל ביחד אל תדאגו

  8. 02:20

    אוקיי אז אנחנו נכנסים ויש לנו פה שני סוגים Reflected ו-Stored בואו נתחיל ב-Reflected, XSS Reflected. הסוג השלישי, אנחנו נעדכן את האתר הזה ויהיה לנו גם את הסוג השלישי החדש יותר.

  9. 02:36

    נעשה את העדכון באחד הסרטים. טוב, איך אנחנו מתחילים? אנחנו עושים פשוט Alert, הודעה קופצת, במקום לרשום פה את השם שלי, נניח זה השם שלי, במקום לרשום את השם אני כותב JavaScript.

  10. 02:50

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

  11. 03:16

    ואל תדאגו עכשיו כשהוא מוגן פחות טוב אנחנו מנסים עוד פעם לעשות alert במקום השם עושים submit והנה קפצה לנו הודעה מה זה אומר שאתר האינטרנט ביצע את הג'אווה סקריפט שלי אני גורם לאתר לבצע את מה שאני רוצה את הג'אווה סקריפט שלי בהתחלה זה רק אלרט אחרי זה אני אגנוב קוקיז והנה אתם רואים הוא עושה את זה הודעה קופצת עכשיו תסתכלו משהו עוד

  12. 03:43

    מעניין אני יכול לבנות מזה גם קישור אתם רואים פה למעלה אני רואה שיש פה קישור את השם הזה הוא שם אותו בלינק מה זה אומר שאני יכול לקחת את הלינק הזה לשלוח לבן אדם והאתר יבצע את הסקריפט שלי אצלו במחשב בואו נראה איך זה עובד אני לוקח את הלינק הזה שולח למישהו אחר באינטרנט והוא נכנס ללינק

  13. 04:08

    עושה enter וחוטף את הסקריפט שלי זאת אומרת שכרגע בנינו סקריפט שמי שלוחץ עליו יבצע את הקוד הזדוני שלי שימו לב זה לא שמור בדאטאבייס לא הצלחתי לחדור לדאטאבייס של האתר של הקורבן עכשיו תגידו אז מה עשית בזה אז יש לך אלרט אז יש לך הודעה קופצת אני דרך אגב יכול לכתוב פה גם בגרשיים מילה זאת אומרת

  14. 04:32

    זה לא חייב להיות כאילו, תדעו שזה יכול להיות האקט, זה יכול להיות גם ריק, סתם שתדעו. אז אחרי שיש לי פה אלרט שאני מצליח להקפיץ, בואו נעשה משהו יותר חזק, נגנוב לו את ה-cookies.

  15. 04:48

    ב-javascript.document.cookie מראה לי את ה-cookie של הדפדפן. אז אני יכול להכניס פה או ב-url למעלה, שזה לא משנה כאן, אתם רואים name, את ה-JavaScript שלי.

  16. 05:01

    עכשיו, מה שיגיע פה ב-JavaScript, תסתכלו שנייה, הנה בבקשה, קודם כל הנה בבקשה, זה הקוקי.

  17. 05:08

    קוקי ראשון נקרא security שווה לו, הקוקי השני זה זה, שזה מספר ה-session, זה למעשה הזהות של הבן אדם. עכשיו, איך זה מתבצע?

  18. 05:19

    איך זה עובד? קודם כל הצלחנו לגנוב קוקי, כן, שזה מצוין, אבל למה ה-URL הזה בכלל עובד? כי הקוד של האתר לוקח את ה-URL הזה ומכניס אותו לכאן בדפדפן.

  19. 05:31

    תסתכלו, יש לי פה view source, לראות את קוד המקור שיש אותו בשרת, מה כתבו המתכנתים בחיים האמיתיים אין את זה אבל פה יש אפשרות כזאת אנחנו ננצל ונלמד אנחנו לוקחים את השדה name מלמעלה אתם רואים ב-url יש לנו name שווה את הפרמטר הזה שנקרא name אנחנו לוקחים אותו את הערך שלו תסתכלו

לקורס המלא: קורס פריצה לאתרי אינטרנט אונליין

ההרצאה הקודמת: שלושה סוגי התקפות XSS

ההרצאה הבאה: התקפת Reflected XSS - רמת אבטחה בינונית באתר DVWA

הרצאות קשורות מקורסים אחרים

  • אבטחה עם VM Templates
  • בניית צ'אט באתר
  • אבטחה - MVC Security - חלק 1
  • אבטחה בשרת IIS

קורסים נוספים במסלול

  • קורס SOC - מיישם הגנת סייבר
  • קורס סייבר למתחילים - Hacking - בדיקות חוסן תשתיתי ופריצה ל-Windows 10/11 - קורס זה נדרש למבחן ההסמכה היוקרתי OSCP
  • קורס פריצה ומבדקי חדירה לתשתית ארגונית - בדיקות חוסן מתקדמות ל-Active Directory - קורס זה נדרש למבחן ההסמכה היוקרתי OSCP
  • קורס סייבר והאקינג ל-Android - פריצה לטלפונים ואפליקציות אנדרואיד - בודק חוסן - Mobile App Pentesting