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

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

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

מה זו בעצם גלישה פרטית? לחיצה על ctrl+shift+N בכרום או ctrl+shift+p בפיירפוקס פותחת לי את המצב האנונימי. מה הוא המצב האנונימי? הוא בעצם כמו לפתוח דפדפן שמופרד מהנתונים של הדפדפן 'הרגיל' שלנו. דברים שאני עושה במצב הפרטיות לא יישמרו אם אסגור את כל החלונות. למשל, אם אני משוטט באתרים מפוקפקים במצב הפרטיות ואחרי שאני מסיים לעשות שם את מה שעושים שם אני סוגר את חלונות מצב הפרטיות – איש לא יוכל לדעת איפה שוטטתי. בניגוד לדפדפן הרגיל – ההיסטוריה נמחקת כאשר אני סוגר את מצב הפרטיות.

מצב פרטיות בכרום
מצב פרטיות בכרום

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

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

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

האם מדובר בפרצה הנוראית ביותר בדורנו? בוודאי שלא. האם מדובר במשהו שאתרים זדוניים יותר או פחות יוכלו להשתמש בו? בוודאי.

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

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

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

מידע טכני

טוב, אין יותר מדי מה לומר – יצירת החלון נעשית באופן פשוט ביותר


window.open(url,'mySpy','height=200,width=150');

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

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

פוסטים נוספים שכדאי לקרוא

תמונת תצוגה של מנעול על מחשב
פתרונות ומאמרים על פיתוח אינטרנט

הגנה מפני XSS עם Trusted Types

תכונה ב-CSP שמאפשרת מניעה כמעט הרמטית להתקפות XSS שכל מפתח ווב צריך להכיר וכדאי שיכיר.

פתרונות ומאמרים על פיתוח אינטרנט

עבודה עם GPT למתכנתים

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

גלילה לראש העמוד