אז ככה פורצים לכם בלי שאתם יודעים?
אחת הפריצות המאיימות שקיימות היום ברשת היא ה Session Fixation. היא לא מאיימת בגלל חומרת התוצאה יוצאת הדופן – שהיא התחזות למשתמש אחר באתר כלשהו (תוצאה שאפשר להשיג ע"י גניבת עוגיות או אמצעים דומים) אלא קלות הביצוע והפגיעות הקיימת היום.
Session Fixation
Session Fixation היא התקפה של גניבת ה Session ששונה משאר ההתקפות שמיועדות לכך. בעוד שבשאר ההתקפות התוקף ינסה לנחש את מזהה ה Session, לגנוב אותו לגולש מהמחשב של הגולש או לגנוב אותו מהאתר, בהתקפה הזו התוקף ייצר בעצמו את מזהה ה Session ויגרום לנתקף להשתמש בו. על מנת להצליח בתקיפה האתר הנתקף צריך לעשות מספר טעויות (שהן לא כאלה מוזרות), הראשונה היא להקצות Session ID לכל משתמש באתר על ההתחלה, ולא רק אחרי שהוא הקיש שם משתמש וסיסמא והשניה היא לא להחליף את מזהה ה Session לאתר לאתר שהמשתמש הקיש סיסמא, אלא רק לזכור שמעכשיו זהו Session בעל הרשאות. שתי הטעויות הללו לא נראות גרועות כל כך במבט ראשון, והרבה אתרים טועים במימושים אלה. פרט לאתרים הרבה הרבה תשתיות תוכנה שנותנות שירותים של התעמתות פגיעות להתקפה הזו.
איך ההתקפה עובדת
הדרך הכי פשוטה לממש את ההתקפה היא כאשר מזהה ה session מועבר ב URL. אם כל מזהה מתקבל בתור session id, התוקף יכול פשוט להגריל אחד ולהפנות אנשים אליו. במקרה שהמזהה חייב להיווצר בשרת אז התוקף יוצר לעצמו מזהה session ע"י גלישה לאתר. ומפנה את הנתקף ללינק עם המזהה. לאחר שהמותקף מתעמת מול האתר, לתוקף ישנו המזהה של הנתקף שאיתו הוא יכול לגשת לאתר עם ההרשאות של המותקף.
במקרים אחרים, כאשר המזהה נשמר בעוגיה נדרשת חולשה נוספת על מנת ליצור התקפה מסוג זה. לדוגמא ע"י שתילת עוגיה ב subdomain של אתר נתקף כשר יש לנו שליטה על האתר הראשי, או ע"י הרבה טכניקות אחרות.
האם זה עובד?
אם תשאלו את OWASP, כנראה שכן, והרבה. לפי אחת ההרצאות שהוצגה בכנס שלהן בחודש שעבר, חלק גדול ממערכות ה CMS ותשתיות התוכנה המופצות חינם היום תקיפות בשיטה זו.