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

חולשה באתר עירית רחובות סיכנה את התושבים

רן בר-זיק מרץ 18, 2018 6:26 pm אין תגובות

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

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

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

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

אתר עירית רחובות - לא הייתם מאמינים לאתר כזה?
אתר עירית רחובות – לא הייתם מאמינים לאתר כזה?

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

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

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

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

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

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

<h1>שלום, אתה חייב לנו כסף יא פח אשפה<h1>תשלם לנו ב<a href=https://internet-israel.com>קישור הזה</a> או שנעקל לך את הבית<style>h1 {color: red !important} h2 {color: white !important} p {text-indent: -9999px;} </style>

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

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

אתר עירית רחובות - הדף שבו היתה החולשה
אתר עירית רחובות – הדף שבו היתה החולשה

בדף יש מנוע חיפוש שבו אפשר להזין מספר פניה. אם מזינים מספר פניה רואים שמספר הפניה לא נמצא.

אתר עירית רחובות - חיפוש
אתר עירית רחובות – חיפוש

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

אתר עירית רחובות - הצלחת המקפה
אתר עירית רחובות – הצלחת המקפה

מה אפשר לעשות? הו הו הו -מה שבא לי והכל בתוך קישור ולידי באתר של עירית רחובות.

מכניס תוכן ומשנה עיצובים להנאתי באתר עירית רחובות
מכניס תוכן ומשנה עיצובים להנאתי באתר עירית רחובות

שימו לב לסרטון הזה למשל:

פרטים טכניים

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

כלומר אם אני שולח משהו בסגנון

https://www.rehovot.muni.il/201?id=<script>alert(1)</script>

כרום יהרוג את הבקשה. כן, גם אם אני אנסה להכניס iframe או כן אנסה להריץ ג'אווהסקריפט עם כל המשחקים המוכרים (onload וכל שטויות ה-HTML5 המוכרות והחביבות) – כן, גם אם אני אשגר את הנתונים ב-POST. מה חשבתם? שהמתכנתים של כרום לא יודעים מה הם עושים? בטח שהם יודעים. אבל בהגדרה הם לא חוסמים תגיות style ו-HTML (כי יש גבול להגנה של הדפדפן( ועדיין אפשר לתמרן את התוכן באתר ולשכנע את המשתמש להקליק על קישורים וזה בדיוק מה שאני עושה פה. פשוט, קל למניעה ומרגיז כל כך שזה קיים.

כיוון שמדובר בטופס של POST, הפרצה קצת יותר מעניינת – אני צריך ליצור HTML שמייצר את ה-POST ומעביר את הגולש אל הדף שיש בו את הפרצה עם המידע של ה-POST:


<html>
    <body onload="document.xss.submit()">
        <div>
            <form name="xss" id="xss" action="https://www.rehovot.muni.il/201/" method="POST"> 
				<input name="isPost" value="yes" type="hidden">
				<input name="num" value="<h1>שלום, אתה חייב לנו כסף יא פח אשפה<h1>תשלם לנו ב<a href=https://internet-israel.com>קישור הזה</a> או שנעקל לך את הבית<style>h1 {color: red !important} h2 {color: white !important} p {text-indent: -9999px;} </style>" type="hidden">
            </form>
        </div>
    </body>
</html>

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

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

השארת תגובה

ביטול

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

ללמוד לתכנת ג'אווהסקריפט בעברית שגייס יותר משלוש מאות אלף שקל ולמעלה מ-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 | הצהרת הנגישות של האתר | אבטחת מידע ודיווח על בעיית אבטחת מידע

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