PracticU

התקפה מסוג CSRF - הסבר נוסף

בלי כתוביותעם כתוביות
PracticU › קורס פריצה ומבדקי חדירה לאתרי אינטרנט - בדיקות חוסן לאתרים - Web Pentesting - קורס זה נדרש למבחן ההסמכה היוקרתי OSCP › התקפה מסוג CSRF - הסבר נוסף
מילון מושגים:
עוגייה - קובץ קטן שאתר שומר בדפדפן כדי לזכור מידע על המשתמש בין בקשות, למשל מצב התחברות או העדפות.
GET - שיטת HTTP לבקשת מידע מהשרת בלי לשנות אותו. הפרמטרים מועברים בדרך כלל בכתובת.
POST - שיטת HTTP לשליחת נתונים לשרת כדי ליצור או לעדכן משאב, למשל שליחת טופס.
MVC - דפוס ארכיטקטורה שמפריד יישום לשלושה חלקים: מודל (נתונים), תצוגה (View) ובקר (Controller).
טוקן - פיסת מידע שמשמשת לאימות או להרשאה, שהמערכת מנפיקה ללקוח ומוצגת בבקשות הבאות במקום סיסמה.
Visual Studio - סביבת פיתוח משולבת (IDE) של מיקרוסופט לכתיבה, ניפוי והרצה של קוד, בעיקר בשפות .NET.
חולשה - פגם או חולשה במערכת או בתוכנה שעלול לאפשר פגיעה באבטחה אם לא יטופל.
XSS - חולשה באתרים שבה תוקף מחדיר סקריפט זדוני לדף שמוצג למשתמשים אחרים ורץ בדפדפן שלהם.

התקפה מסוג CSRF - הסבר נוסף
CSRF, או Cross-Site Request Forgery, הוא סוג התקפה שבו הדפדפן של משתמש שכבר מחובר לאתר מבצע בשמו פעולה שהוא לא התכוון אליה. המרצה מכנה זאת רכיבה על הסשן של המשתמש. השיעור מסביר למה ההתקפה עובדת, מה ההבדל בין סוגי הבקשות, ואיך ההגנה בנויה בשתי מסגרות הפיתוח של ASP.NET.
למה ההתקפה עובדת
המשתמש כבר עבר אימות מול האתר, והדפדפן שולח אוטומטית את העוגיות של האתר בכל בקשה שמגיעה אליו. המרצה מציין שהגבלת הדומיין בדפדפן מונעת שליחת עוגיות בין אתרים שונים, אבל אפשר להתגבר עליה בדרכים מסוימות. לכן מבחינת השרת, בקשה שנשלחה בשם המשתמש נראית כמו בקשה שהמשתמש ביקש בעצמו. אין לאתר דרך להבדיל בין משתמש שביצע פעולה לבין בקשה מזויפת שהדפדפן שלו שלח. התוקף מנצל כל פעולה שמותרת למשתמש, ואינו צריך לדעת את הסיסמה.
GET מול POST
בקשת GET שולחת את הנתונים בכתובת, ובקשת POST שולחת אותם בגוף הבקשה. המרצה מסביר שיש מי שחושב ש-POST מאובטח יותר, אבל זה לא מגן בעצמו, כי הדפדפן שולח את העוגיות בשני המקרים. במהלך השיעור מוצג אתר שביצע מחיקה דרך כתובת GET בלבד, ולכן פעולה שמשנה מידע לא כדאי לבצע דרך GET. הקורבן יכול להפעיל בקשה כזאת דרך קישור, דף או תמונה שנטענת בדף אחר, והדפדפן יוסיף את העוגיות בעצמו.
הגנות ב-MVC וב-WebForms
1. טוקן אנטי-זיוף ב-MVC: הטופס מקבל שדה עם ערך אקראי, והשרת בודק אותו בכל שליחה. התוקף לא יכול לדעת את הערך מראש, ולכן הוא לא יכול לבנות בקשה תקינה מבחוץ. המרצה מציין שב-MVC ההגנה מופיעה במנגנון הטופס ונבדקת בבקר.
2. ViewState מוצפן ב-WebForms: ב-ASP.NET WebForms ה-ViewState מוצפן כך שכל סשן מקבל ערך שונה. החל מ-Visual Studio 2012 ההגנה הזאת מופעלת כברירת מחדל ברמת דף הבסיס (Master Page), ואפשר לוודא שהיא קיימת בדף.
3. HTTPS: בלי הצפנה, מי שמאזין לרשת יכול לגנוב את הטוקן ולהשתמש בו. המרצה מציין שהטוקן מונע מתוקף מרחוק לשלוח קישור תקין, אבל הוא לא מספיק נגד האזנה, ולכן צריך HTTPS.
טעויות נפוצות
המרצה מדגיש שהגנה נגד CSRF לא תעזור אם יש באתר פגיעות XSS. קוד JavaScript שרץ בדף האתר מבצע בקשות בשם המשתמש גם בלי שום קישור חיצוני, ולכן ההתקפה חמורה יותר.
שימו לב
CSRF נשען על אמון הדפדפן בעוגיות, וההגנה נשענת על ערך שהתוקף לא מכיר ועל הצפנה של התקשורת.
השיעור הבא בקורס: חטיפה של HTTP Session

פרקי ההרצאה: התקפה מסוג CSRF - הסבר נוסף

  1. 00:00

    מבוא: מהי זיוף בקשה בין אתרים (CSRF)

  2. 04:19

    מהו קוקי ואיך הדפדפן שולח אותו

  3. 08:53

    מנגנון ViewState בטפסי ASP.NET

  4. 12:16

    פרמטר כתובת החזרה ב-URL

  5. 15:56

    הבדל בין שליחת נתונים ב-GET ל-POST

  6. 19:42

    נוחות ההתחברות (Single Sign-On) ומשמעותה

  7. 23:52

    הגנות ספקי הדואר על תמונות חיצוניות

  8. 29:38

    ברירות המחדל של ASP.NET לפי גרסה

תמלול ההרצאה: התקפה מסוג CSRF - הסבר נוסף

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

  1. 00:02

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

  2. 00:34

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

  3. 00:39

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

  4. 01:42

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

  5. 02:33

    מאוד מותאם ל-HTTP, אוקיי? תורידו אותו, תתקינו אותו, נקסט, נקסט, נקסט, זה מאוד פשוט. אני כבר התקנתי אותו, ובואו נדליק את הפידלר 2, אני גם הוספתי לו תוספות, יש לו גם תוספות שאפשר להוסיף.

  6. 02:53

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

  7. 03:08

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

  8. 03:33

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

  9. 04:01

    שלנו ואני אשים לכם פה בצד את הסניפר שאתם תראו איך הוא תופס את הפאקטים אוקיי אז אני כותב שם וסיסמה לאתר כמובן שבאתר אינטרנט אמיתי לא יהיה לכם שם וסיסמה על המסך אוקיי יופי יש פה את ה-V הזה, Keep me logged in.

  10. 04:22

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

  11. 04:37

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

  12. 04:47

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

  13. 04:59

    תסתכלו מה קרה פה, נכנסתי לאתר עשיתי לו בקשה לאתר זאת הבקשה שלי תביא לי בבקשה לוגיני SPX והוא נתן לי תשובה אוקיי הוא נתן לי תשובה יפה הוא נתן לי תשובה אני שלחתי לו בקשה בואו נראה איזושהי בקשה הנה בקשה זאת הבקשה שלי שלחתי לו בקשה ואנחנו שימו לב בואו אני אסביר

  14. 05:30

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

  15. 06:02

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

  16. 06:18

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

  17. 06:34

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

  18. 07:00

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

  19. 07:32

    כן השם והסיסמה ב-http עוברים בצורה גלויה לרוב ולכן חייבים לשים https מסביב אחרת כל מי שמאזין על הכבל יראה את זה view state מה זה view state זה מצב של כל הפקדים יש לי פקדים על המסך ומי שלא מתכנת אתם חייבים להכיר אתם רואים פקדים פקד זה מה כתבתי פה ומה כתבתי כאן אז כל פעם שאני לוחץ על איזשהו כפתור

  20. 08:00

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

  21. 08:26

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

  22. 08:59

    יש גם MVC ששם כבר אין ViewState. אז בטכנולוגיה של ה-sp.net, אז ה-ViewState מקודד את מצב הפקדים והם נשלחים ביחד עם הבקשה.

  23. 09:16

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

  24. 09:33

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

  25. 09:46

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

  26. 10:05

    שימו לב בסוף של הקוקי הזה אני לא רואה פה את התוקף שלה כן אז לא שמתי רממבר מי אם הייתי שם רממבר מי היה לקוקי הזה תוקף. כרגע התוקף הזה זה רק עד סוף הסשן בואו נעשה שנייה בואו נעשה שנייה לפני שאני מוסיף משתמש אתם יודעים מה בואו נוסיף משתמש ואז נראה לכם עוד קוקי.

  27. 10:27

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

  28. 10:57

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

  29. 11:25

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

  30. 11:52

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

  31. 12:01

    עושים להוסיף משתמש, הוא אומר, לפני שאתה מוסיף משתמש אתה צריך להגיד לי מה היוזרנם והפספורט. הפעם אני אשים לו פה תווי.

  32. 12:12

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

  33. 12:22

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

  34. 13:05

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

  35. 13:48

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

  36. 14:07

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

  37. 14:29

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

  38. 15:04

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

  39. 15:49

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

  40. 16:10

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

  41. 16:22

    מה זה לא בגוף כשבוא אני אראה לכם דוגמא שהתכוונתי להראות לכם עוד מעט באינדקס כתבתי את זה באינדקס אינדקס כתבתי את זה יפה מאוד לדוגמא פקודת מחיקת משתמש באתר הזה מותר למחוק משתמש רק על ידי זה שאני שותל url כתובת מה המספר של יוני יוני היה משתמש מספר 100 יופי אם אני לוקח ושולח

  42. 16:55

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

  43. 17:09

    אתם יכולים לראות פה שזה נקרא פוסט. פוסט in a get, יש get ויש פוסט. פוסט זה אומר שהנתונים נשלחים בתוך הגוף הבקשה, וזה הנתונים שהם בתוך הגוף, ויש get.

  44. 17:28

    get זה אומר שהנתונים נשלחים כביכול כפרמטרים למעלה. אתם רואים delete user ולמעלה הפרמטרים, פה שום גוף שאני שולח זה נקרא גט והוא נקרא פוסט אז אנחנו נראה בעצם בואו נעשה את זה שנייה אחת ככה יוזר 100 deleted שימו לב שלחתי לו בקשה והוא החליט שאני עברתי עימות ומחק יוזר מספר 100 תראו עכשיו אני עושה רפרש פה למעלה ויוני נעלם

  45. 18:10

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

  46. 18:23

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

  47. 18:34

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

  48. 18:48

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

  49. 19:28

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

  50. 19:48

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

  51. 20:46

    יש פה איזושהי שאלה של התלמיד אם אני יכול להכניס מקור של תמונה אוקיי ואני יכול להכניס פה איזשהו קישור אוקיי יפה מאוד ואז למעשה אני שולח לעצמי מייל בואו נשלח מייל האתר שלנו כבר רץ איפה יש לנו פה נעשה אחד הנה home יש לי פה send email to yoni יפה מאוד שלחתי לעצמי מייל בואו ניכנס לג'ימל

  52. 21:21

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

  53. 22:07

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

  54. 22:37

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

  55. 23:32

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

  56. 24:04

    אתם יכולים לראות שהקישור שלי הוא לא מופיע ישירות באימג' סורס כאילו אימג' סורס קודם כל הפרוקסי שלהם שמביא את התמונה ואז ההתקפה הזאת כבר לא עובדת אז עשיתי פה לינק כשאתה לוחץ על הלינק הזה ושימו לב אני בכלל בג'ימל אני בג'ימל לוחץ על הלינק הזה הדפדפן הנה user 99 deleted למה כי דפדפן עשה טובה ושלח את הקוקי של היוזר גרמתי ליוזר ללחוץ על הלינק ולא היה לי שם

  57. 24:36

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

  58. 25:08

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

  59. 25:41

    שהמשתמש הזה אוהב לבקר באיזשהו אתר והאתר הזה, אני מגלה שהאתר הזה הוא חשוף ל-Cross-site Scripting, בעצם ל-XSS, ל-JavaScript, אז אני שותל לו בתוך ה-JavaScript את הקוד.

  60. 25:58

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

  61. 26:32

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

  62. 26:47

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

  63. 26:58

    זה היה פשוט, לשלוח לינק לבן אדם שילחץ על הלינק הזה. עכשיו, איך אנחנו מתגברים על הפוסט? פה אני מוחק הכל, כן, פה אני אמחק הכל, ואני רוצה להראות לכם מה קורה כשאני ממלא איזשהו טופס, נניח יוני 2 ונעשה 1,2,3,4,4,3,2,1 אני עושה סייב יופי משתמש יוני

  64. 27:27

    התווסף שימו לב פה ב-url אין כלום אז כביכול אי אפשר לשלוח פה לינק נכון אי אפשר לשלוח לינק שיעשה את כל מה שאנחנו רוצים אבל תכף אנחנו נראה שזה אפשר להתחכם עם זה אז תראו מה שקרה זה שהוא שלח בעצם את ה-authentication ב-web forms אנחנו רואים פה את היוני 2 את הסיסמה ואת הפעולת סייב אוקיי למעשה הכל היה נראה בצורה כזאת

  65. 27:58

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

  66. 28:28

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

  67. 28:52

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

  68. 29:09

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

  69. 29:32

    הגוף אני שם סימן שאלה, מתחיל לשלוח את זה כפרמטרים. למה? כי sp.net ברירת מחדל עד 2012, עד הגרסה 2012, שימו לב זה השתנה.

  70. 29:46

    בוויז'ואל סטודיו 2012 זה כבר ברירת מחדל, זה חסום. תלוי מתי עשו את האתר. תסתכלו, אתם רואים? אצלי ויז'ואל סטודיו כרגע, פה אני עובד עם 2010, אתם רואים? ויז'ואל סטודיו

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

ההרצאה הקודמת: התקפת CSRF

ההרצאה הבאה: חטיפה של HTTP Session

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

  • מחלקה מסוג Static Class (הסבר נוסף)
  • הסבר נוסף על SSH
  • הסבר על התקפה - buffer overflow
  • ביצוע התקפה מסוג Man-In-The-Middle בעזרת Bettercap

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

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