זיוף בקשות בין אתרים (CSRF) היא אחת הדרכים הוותיקות ביותר לניצול נקודות התורפה של האתר. היא מכוונת למתגי אינטרנט בצד השרת שבדרך כלל דורשים אימות כמו כניסה. במהלך מתקפת CSRF, תוקף שואף לאלץ את קורבנו להגיש בקשת אינטרנט לא מורשית וזדונית מטעמם.
שיטות אבטחה חלשות או לקויות של אתרים וחוסר זהירות בדרכו של המשתמש הם חלק מהגורמים הנפוצים להתקפה מוצלחת של CSRF.
בואו נסתכל על מהי התקפת CSRF ועל הדרכים האפשריות שבהן תוכלו למנוע מעצמכם כמפתח או כמשתמש.
כיצד מתקפות CSRF משפיעות עליך?
CSRF הוא מתקפה המשמשת ליישום בקשות לא מורשות במהלך פעולות אינטרנט הדורשות כניסה או אימות משתמש. התקפות CSRF יכולות לנצל את מזהי ההפעלה, קובצי ה- cookie, וכן פגיעויות אחרות מבוססות שרת כדי לגנוב את אישורי המשתמש.
לדוגמא, הפעלת הליכי אנטי- CSRF מונעת אינטראקציות זדוניות בין תחומים.
ברגע שהמחסום נשבר, התוקף יכול לנצל במהירות את מזהה ההפעלה של המשתמש באמצעות קובצי ה- cookie שנוצרו על ידי הדפדפן של המשתמש ולהטמיע תג סקריפט באתר הפגיע.
על ידי מניפולציה במזהה, התוקף יכול גם להפנות מבקרים לדף אינטרנט אחר או לנצל אותו שיטות הנדסה חברתית כמו דוא"ל למשלוח קישורים, ומעודד את הקורבן להוריד תוכנה זדונית.
למד כיצד הנדסה חברתית יכולה להשפיע עליך, ועוד דוגמאות נפוצות שיעזרו לך לזהות ולהישאר בטוחים מתוכניות אלה.
לאחר שהקורבן מבצע פעולות כאלה, הוא שולח בקשת HTTP לדף השירות של המשתמש ומאשר את פעולת הבקשה לטובת התוקף. זה יכול להיות הרסני עבור משתמש תמימי.
התקפת CSRF מוצלחת עלולה לגרום למשתמשים מורשים לאבד את אישורי הגישה שלהם לתוקף, במיוחד במהלך פעולות מבוססות שרת כמו בקשת סיסמה או שינוי שם משתמש. בתרחישים גרועים יותר, התוקף משתלט על כל ההפעלה ופועל בשם המשתמשים.
CSRF שימש לחטיפת עסקאות קרנות דרך האינטרנט וכן לשינוי שמות משתמש וסיסמאות, מה שמוביל לאנשים לאבד גישה לשירות המושפע.
כיצד תוקפים חוטפים את המפגשים שלך עם CSRF: דוגמאות
היעדים העיקריים להתקפות CSRF הם פעולות אינטרנט הכוללות אימות של משתמש. כדי להצליח, הוא זקוק לפעולות לא מכוונות מצד הקורבן.
במהלך מתקפת CSRF פעולות GET, DELETE ו- PUT, כמו גם בקשות POST פגיעות הן היעדים העיקריים של התוקף.
בואו נסתכל על המשמעות של מונחים אלה:
- לקבל: בקשה לאיסוף תוצאה ממאגר המידע; למשל, חיפוש בגוגל.
- הודעה: בדרך כלל להגשת בקשות באמצעות טופסי אינטרנט. בקשת POST נפוצה במהלך רישום המשתמש או התחברותו, המכונה גם אימות.
- לִמְחוֹק: להסרת משאב ממסד הנתונים. אתה עושה זאת בכל פעם שאתה מוחק את חשבונך משירות אינטרנט מסוים.
- לָשִׂים: בקשת PUT משנה או מעדכן משאב קיים. דוגמה היא שינוי שם הפייסבוק שלך.
בפועל, תוקפים משתמשים בחטיפת מושבים כדי לגבות התקפה של CSRF. בעת שימוש בשילוב זה, התוקף יכול להשתמש בחטיפה כדי לשנות את כתובת ה- IP של הקורבן.
השינוי בכתובת ה- IP מכניס את הקורבן לאתר חדש שבו התוקף הכניס קישור מרמה המגיש טופס משוכפל או בקשת שרת שונה שיצרו באמצעות CSRF.
משתמש תמידי חושב אז שהניתוב מחדש מגיע מספק השירות ולוחץ על הקישור בדף האינטרנט של התוקף. לאחר שעשו זאת, האקרים מגישים טופס על טעינת העמודים ללא ידיעתם.
דוגמה להתקפת CSRF של בקשת GET
דמיין שאתה מנסה לבצע תשלום מקוון באמצעות פלטפורמת מסחר אלקטרוני לא מאובטחת. בעלי הפלטפורמות משתמשים בבקשת GET לעיבוד העסקה שלך. שאילתת GET זו עשויה להיראות כך:
https://websiteurl/pay? סכום = $ 10 וחברה = [חשבון ABC של החברה]
חוטף יכול לגנוב את העסקה שלך בקלות על ידי שינוי הפרמטרים של בקשת ה- GET. לשם כך כל מה שהם צריכים לעשות הוא להחליף את שמכם בשמו, וגרוע מכך - לשנות את הסכום שאתם מתכוונים לשלם. לאחר מכן הם משנים את השאילתה המקורית למשהו כזה:
https://websiteurl/pay? סכום = 20000 דולר וחברה = [חשבון התוקף]
ברגע שאתה לוחץ על קישור לבקשת GET ששונתה זו, בסופו של דבר אתה מבצע העברה לא מכוונת לחשבון התוקף.
עסקה באמצעות בקשות GET היא פרקטיקה גרועה, והופכת פעילויות לפגיעות להתקפות.
דוגמה להתקפת CSRF של בקשת POST
עם זאת, מפתחים רבים מאמינים כי השימוש בבקשת POST הוא מאובטח יותר לביצוע עסקאות באינטרנט. אמנם זה נכון, למרבה הצער, בקשת POST רגישה גם להתקפות CSRF.
כדי לחטוף בקשת POST בהצלחה, כל מה שצריך התוקף הוא מזהה ההפעלה הנוכחי שלך, כמה טפסים בלתי נראים משוכפלים, ולפעמים, קצת הנדסה חברתית.
לדוגמה, טופס בקשת POST עשוי להיראות כך:
עם זאת, תוקף יכול להחליף את האישור שלך על ידי יצירת דף חדש ולשנות את הטופס שלמעלה:
בצורה מניפולציה, התוקף מגדיר את ערך שדה הסכום ל "30000", מחליף את מספר החשבון של הנמען לשלהם, מגיש את הטופס בעמוד העמוד וגם מסתיר את שדות הטופס מ המשתמש.
ברגע שהם חוטפים את ההפעלה הנוכחית, דף העסקה שלך יוזם הפניה לדף התוקף, שמבקש ממך ללחוץ על קישור שהם יודעים שאתה צפוי לבקר בו.
לחיצה על זה טוענת את הגשת הטופס המשוכפל, המעביר את כספיך לחשבון התוקף. כלומר, אינך צריך ללחוץ על כפתורים כמו "שלח" כדי שהעסקה תתבצע, מכיוון ש- JavaScript עושה זאת באופן אוטומטי עם טעינת דף האינטרנט הבא.
לחלופין, תוקף יכול גם לנסח דוא"ל מוטמע ב- HTML שמבקש ממך ללחוץ על קישור כדי לבצע את אותה הגשת טופס טעינת העמודים.
פעולה נוספת הפגיעה במתקפת CSRF היא שם משתמש או שינוי סיסמה, דוגמה לבקשת PUT. תוקף משכפל את טופס הבקשה שלך ומחליף את כתובת הדוא"ל שלך בזו שלהם.
ואז הם גונבים את ההפעלה שלך או מפנים אותך לדף או שולחים לך דוא"ל שמבקש ממך ללחוץ על קישור מושך.
לאחר מכן שולח טופס מניפולטיבי ששולח את קישור איפוס הסיסמה לכתובת הדוא"ל של ההאקר במקום לשלך. בדרך זו, ההאקר משנה את הסיסמה שלך ומתנתק מחשבונך.
כיצד למנוע התקפות CSRF כמפתח
אחת השיטות הטובות ביותר למניעת CSRF היא להשתמש באסימונים המשתנים לעתים קרובות במקום לתלות בעוגיות הפעלה להפעלת שינוי מצב בשרת.
קָשׁוּר: מדריכים בחינם להבנת האבטחה הדיגיטלית ולהגנה על פרטיותך
מסגרות backend מודרניות רבות מציעות אבטחה מפני CSRF. אז אם ברצונך להימנע מהטכניקות של התגברות נגד CSRF בעצמך, תוכל להתמודד עם זה בקלות באמצעות מסגרות בצד השרת המגיעות עם אסימונים מובנים נגד CSRF.
כאשר אתה משתמש באסימון נגד CSRF, בקשות מבוססות שרת מייצרות מחרוזות אקראיות במקום קובצי ה- cookie ההפעלה הסטטיים יותר. בדרך זו, אתה יכול להגן על הפגישה שלך מפני ניחוש על ידי החוטף.
הטמעת מערכת אימות דו-גורמי (2FA) להפעלת עסקאות באפליקציית האינטרנט שלך מקטינה גם את הסיכויים ל- CSRF.
אפשר ליזום CSRF באמצעות סקריפטים בין אתרים (XSS), הכוללים הזרקת סקריפט לשדות משתמש כמו טפסים של הערות. כדי למנוע זאת, כדאי מאוד לאפשר בריחה אוטומטית של HTML בכל שדות צורת המשתמש באתר שלך. פעולה זו מונעת משדות טופס לפרש אלמנטים של HTML.
כיצד למנוע התקפות CSRF כמשתמש
כמשתמש בשירות אינטרנט הכרוך באימות, יש לך חלק במניעת התוקפים לגנוב את האישורים וההפעלות שלך גם באמצעות CSRF.
ודא שאתה משתמש בשירותי אינטרנט מהימנים במהלך פעילויות הכרוכות בהעברת כספים.
בנוסף לכך, השתמש דפדפני אינטרנט מאובטחים המגנים על המשתמשים מפני חשיפה להפעלה, כמו גם על מנועי חיפוש מאובטחים המגנים מפני דליפות נתוני חיפוש.
קָשׁוּר: מנועי החיפוש הפרטיים הטובים ביותר המכבדים את הנתונים שלך
כמשתמש, אתה יכול להסתמך גם על מאמתים של צד שלישי כמו מאמת גוגל או האלטרנטיבות שלו לאימות הזהות שלך באינטרנט.
למרות שאתה עלול להרגיש חסר אונים למנוע מהתוקף לחטוף את הפגישה שלך, אתה עדיין יכול לעזור למנוע זאת על ידי הקפדה שהדפדפן שלך לא ישמור מידע כמו סיסמאות וכניסה אחרת פרטים.
בשר את אבטחת האינטרנט שלך
מפתחים צריכים לבדוק באופן קבוע אפליקציות אינטרנט לגבי הפרות אבטחה במהלך הפיתוח והפריסה.
עם זאת, מקובל להציג נקודות תורפה אחרות תוך ניסיון למנוע אחרים. אז היזהר כדי לוודא שלא הפרת פרמטרים אחרים של אבטחה בזמן שאתה מנסה לחסום CSRF.
צור סיסמה חזקה שתזכור בהמשך. השתמש באפליקציות האלה כדי לשדרג את האבטחה שלך באמצעות סיסמאות חזקות חדשות היום.
- בִּטָחוֹן
- אבטחה מקוונת
Idowu נלהב מכל דבר חכם וטכנולוגיה ופרודוקטיביות. בזמנו הפנוי הוא משחק בקידוד ועובר ללוח השחמט כשמשעמם לו, אבל הוא גם אוהב להתנתק מהשגרה מדי פעם. התשוקה שלו להראות לאנשים את הדרך סביב הטכנולוגיה המודרנית מניע אותו לכתוב יותר.
הירשם לניוזלטר שלנו
הצטרף לניוזלטר שלנו לקבלת טיפים טכניים, ביקורות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!
צעד אחד נוסף !!!
אנא אשר את כתובת הדוא"ל שלך בדוא"ל ששלחנו לך זה עתה.