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

משרד התפוצות מאפשר לשלוח שנה לא טובה

רן בר-זיק ספטמבר 6, 2018 5:57 pm 6 תגובות

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

כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.

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

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

בואו נדמיין שיש לנו מנוע חיפוש. כן, ממש כמו גוגל.

מנוע החיפוש שבניתי - מכניסים טקסט, לוחצים על חיפוש והוא מחפש
מנוע החיפוש שבניתי – מכניסים טקסט, לוחצים על חיפוש והוא מחפש

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

מנוע החיפוש שבניתי - הטקסט שמישהו חיפש מודפס ממש - שימו לב לחלק המודגש
מנוע החיפוש שבניתי – הטקסט שמישהו חיפש מודפס ממש – שימו לב לחלק המודגש

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

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

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

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

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

— Jonathan Klinger (@jonklinger) September 6, 2018

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

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

https://diasporashanatova.org.il/id.php?id=5b910edc35bca.png"><script>alert(22)</script>

אז בקוד אני אראה משהו כזה:

<img src="./API/uploads/5b910edc35bca.png"><script>alert(1)</script>" />

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

עם גילוי הבעיה נשלח מייל למערך הסייבר הלאומי (שהגיב מהר והחל לטפל באירוע) ולמשרד התפוצות. הפרצה נסגרה.

כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.
חדשות אינטרנט

6 תגובות

  1. רועי הגב ספטמבר 6, 2018 בשעה 7:01 pm

    לא האמנתי שהדבר הזה עדיין קיים!! טעויות של ילד בן עשר, לא יאמן..

  2. לינק הגב ספטמבר 6, 2018 בשעה 11:07 pm

    בשורה הבאה חסר היפרלינק

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

  3. דר' יוסף זרניק הגב ספטמבר 7, 2018 בשעה 3:00 pm

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

  4. דר' יוסף זרניק הגב ספטמבר 7, 2018 בשעה 3:01 pm

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

  5. שקד הגב ספטמבר 9, 2018 בשעה 10:14 am

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

    • שנה טובה הגב ספטמבר 10, 2018 בשעה 2:48 pm

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

השארת תגובה

ביטול

ללמוד ג'אווהסקריפט בעברית

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

רשימת הנושאים
  • מדריכים
    • ריאקט
    • טייפסקריפט
    • ECMAScript 6
    • ES20XX
    • Node.js
    • Express
    • רספברי פיי
    • Babel
    • docker
    • MongoDB
    • Git
    • לימוד MySQL
    • SASS
    • jQuery
    • CSS3
    • HTML 5
    • SVN
    • LESS
  • פיתוח אינטרנט
    • פתרונות ומאמרים על פיתוח אינטרנט
    • jQuery Scripts
    • jQuery למתקדמים
    • יסודות בתכנות
    • נגישות אינטרנט
  • חדשות אינטרנט
  • מידע כללי על אינטרנט
    • רשת האינטרנט
    • בניית אתרי אינטרנט
  • rss logo

    לכל המאמרים

    לכל המאמרים שפורסמו באינטרנט ישראל משנת 2008 ועד עכשיו.
  • rss logo

    RSS Feed

    משתמשים בקורא RSS? אם כן, עקבו אחרי אינטרנט ישראל באמצעות פיד ה-RSS!
    מה זה RSS?
  • Twitter logo

    עקבו אחרי בטוויטר

    בחשבון הטוויטר שלי אני מפרסם עדכונים מהירים על חדשות בתחום התכנות והיזמות, התרעות על מצבי חירום ורכילות בוערת על תחום הווב.
    מה זה טוויטר?
  • facebook like image

    ערוץ הטלגרם של אינטרנט ישראל

    בערוץ הטלגרם של אינטרנט ישראל אני מפרסם את הפוסטים של באתר וכן עדכונים טכנולוגיים נוספים.
    מה זה טלגרם?
  • github logo

    הפרויקטים שלי בגיטהאב

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

כל הזכויות שמורות לרן בר-זיק ולאינטרנט ישראל | מדיניות הפרטיות של אתר אינטרנט ישראל | אתר אינטרנט ישראל נגיש לפי תקן WCAG 2.0 AA | הצהרת הנגישות של האתר | אבטחת מידע ודיווח על בעיית אבטחת מידע

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