לאחרונה התגלה כי חוסם המודעות הפופולרי «ל- Adblock Plus »יש פגיעות המאפשרת ארגון ביצוע קוד JavaScript באתרים, במקרה של שימוש במסננים שלא נבדקו שהוכנו על ידי צדדים שלישיים בכוונה זדונית (למשל, על ידי חיבור קבוצות כללים של צד שלישי או על ידי החלפת כללים במהלך התקפת ה- MITM).
רשימת מחברים עם ערכות סינון יכולים לארגן את ביצוע הקוד שלהם בהקשר לאתרים הנגישים ל המשתמש מוסיף כללים עם המפעיל »$ rewrite«, המאפשר להחליף חלק מכתובת האתר.
איך אפשר לבצע קוד זה?
ההכרזה על שכתוב $ אינו מאפשר להחליף את המארח בכתובת האתר, אך הוא מספק הזדמנות לתמרן את הוויכוחים באופן חופשי של הבקשה.
עם זאת ניתן להשיג ביצוע קוד. אתרים מסוימים, כגון מפות Google, Gmail ותמונות Google, הם משתמשים בטכניקה של טעינה דינמית של חסימות JavaScript להפעלה המועברות בצורה של טקסט רגיל.
אם השרת מאפשר הפניה מחדש של בקשות, ניתן להעבירו למארח אחר על ידי שינוי הפרמטרים של כתובת ה- URL (למשל, בהקשר של גוגל, ניתן לבצע הפניה מחדש דרך ה- API »google.com/search«) .
Además דה מארחים המאפשרים הפניה מחדש, אתה יכול גם לבצע התקפה כנגד שירותים המאפשרים מיקום תוכן משתמשים (אירוח קוד, פלטפורמת מיקום מאמרים וכו ').
השיטה של התקפה מוצעת משפיעה רק על דפים הטוענים דינמית מחרוזות עם קוד JavaScript (למשל באמצעות XMLHttpRequest או Fetch) ואז הפעל אותם.
מגבלה מרכזית נוספת היא הצורך להשתמש בניתוב מחדש או להציב נתונים שרירותיים בצד שרת המקור המספק את המשאב.
עם זאת, כהדגמה לרלוונטיות של התקפהמראה כיצד לארגן את ביצוע הקוד שלך על ידי פתיחת maps.google.com באמצעות הפניה מחדש דרך "google.com/search".
למעשה, בקשות לשימוש ב- XMLHttpRequest או Fetch להורדת סקריפטים מרוחקים להפעלה לא יכשלו כאשר נעשה שימוש באפשרות $ rewrite.
כמו כן, ההפניה הפתוחה חשובה לא פחות מכיוון שהיא מאפשרת ל- XMLHttpRequest לקרוא את הסקריפט מאתר מרוחק, למרות שנראה שהוא מאותו מקור.
הם כבר עובדים על פתרון הבעיה
הפיתרון עדיין נמצא בהכנה. הבעיה משפיעה גם על חוסמי AdBlock ו- uBlock. חוסם המקור של uBlock אינו רגיש לבעיה מכיוון שהוא אינו תומך במפעיל »$ rewrite».
בשלב מסוים, מחבר uBlock Origin סירב להוסיף תמיכה לשכתוב $, וציין בעיות אבטחה אפשריות והגבלות ברמת המארח לא מספיקות (במקום לכתוב מחדש, הוצעה אפשרות השאילתות לשאילתות למחוק פרמטרים של שאילתה במקום להחליף אותם).
באחריותנו להגן על המשתמשים שלנו.
למרות הסיכון הממשי הנמוך מאוד, החלטנו להסיר את אפשרות השכתוב $. לכן נשחרר גרסה מעודכנת של Adblock Plus בהקדם האפשרי מבחינה טכנית.
אנו עושים זאת כאמצעי זהירות. לא נעשה ניסיון לעשות שימוש לרעה באופציית השכתוב ואנו נעשה כמיטב יכולתנו למנוע זאת.
משמעות הדבר היא כי אין שום איום על כל משתמש Adblock Plus.
ה- Dמפתחי Adblock Plus רואים בהתקפות בפועל לא סבירות, מכיוון שכל השינויים ברשימות הכללים הרגילות נבדקים וחיבור רשימות צד שלישי מתורגל על ידי משתמשים לעתים רחוקות מאוד.
החלפת כלל באמצעות MITM מסירה את השימוש ב- HTTPS כברירת מחדל לטעינת רשימות חסימות רגילות (עבור הרשימות הנותרות מתוכנן לאסור הורדת HTTP במהדורה עתידית).
כדי לחסום התקפות בצד האתרים, ניתן להחיל הוראות CSP (מדיניות אבטחת תוכן), באמצעותה תוכלו לזהות במפורש את המארחים מהם ניתן לטעון משאבים חיצוניים.
מקור: https://adblockplus.org, https://armin.dev