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

פרצת אבטחה משמעותית באתר זאפ חושפת את כל המידע על המשתמשים

רן בר-זיק מרץ 2, 2018 8:40 am 4 תגובות

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

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

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

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

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

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

לעולם לא נחלוק את הפרטים שלך
לעולם לא נחלוק את הפרטים שלך

למשל, כך אני מוריד את הפרטים שלי:

פרטים אישיים שלי באתר זאפ
פרטים אישיים שלי באתר זאפ
פרטים של לקוח אחר
פרטים של לקוח אחר

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

פרטים טכניים

לזאפ יש API שעובד עם SOAP – פרוטוקול מיושן (ראשי התבות הן Simple Object Access Protocol) שבימים שלפני הREST היה פופולרי. אבל באופן עקרוני, למי שלא יודע מדובר ב-API – אנחנו שולחים אליו מידע שעטוף ב-XML מוזר ומקבלים את התוצאות ב-XML חזרה. כמו כל API הוא זמין ברשת. על מנת שלא יהיה אפשר להשתמש ב-API לאנשים לא מורשים, מתבצעת אותנטיקציה. עד כאן טוב ויפה ונחמד. אבל הבעיה ב-API של זאפ הוא שהאפליקציה משתמשת בסיסמה ובשם משתמש אחידים לכולם על מנת לגשת לכל המשאבים. מה זה אומר? זה אומר שניתן להשתמש באותו שם משתמש ואותה סיסמה על מנת לגשת לכל המשתמשים. הסיסמה שלי ושם המשתמש שלי יביאו לי רק את המידע שאני אמור לראות. את הפרטים האישיים שלי, לא הפרטים האישיים של משתמש אחר.

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

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

שירותי ה-SOAP  של זאפ
שירותי ה-SOAP של זאפ

הגילוי היה פשוט ביותר מהרגע שהבנו שהשירותים שלהם חשופים גם ב-URL אחר.
בהתחלה קל לשחזר את הבקשות עם דפדפן ולהבין שמקבלים מידע שלא אמורים לקבל ושמדובר בפרוטוקול SOAP.

שחזור בקשת מידע על גבי הדפדפן
שחזור בקשת מידע על גבי הדפדפן

אחרי שמבינים שמדובר ב-SOAP, אפשר להגיע ל-WSDL ולהתחיל לשגר בקשות. בקשות ה-SOAP תמיד יוצאות עם שלושה פרמטרים:

      <sso:ServiceAuthHeader>
         <!--Optional:-->
         <sso:Username>uSERXXXXnAME</sso:Username>
         <!--Optional:-->
         <sso:Password>pA$$WORDXXXX</sso:Password>
      </sso:ServiceAuthHeader>

וכן עם:

<sso:Key>3SsoKey2&amp;XXXX</sso:Key>

ומכאן זה היה פשוט. ראוי לציין שניתנה לנו גישה לשינוי ועריכה של פרטים.

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

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

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

4 תגובות

  1. אודי הגב מרץ 2, 2018 בשעה 9:10 am

    אז מדובר על מערכת התגובות שלהם או על כל האתר?

    • רן בר-זיק הגב מרץ 4, 2018 בשעה 8:46 am

      כל האתר.

  2. עובר ושב הגב מרץ 2, 2018 בשעה 10:37 am

    מאמר מצויין. תודה.

    שאלה:
    אין גיליתם את שם המשתמש והסיסמא הכלליים?

    האם:
    uSERXXXXnAME
    pA$$WORDXXXX

    הם הערכים הממשיים שבו הם השתמשו או שהחלפתם תווים ב- X-ים?

    ומה מציין התג sso:Key? איך משיגים את הערך '3SsoKey2&XXXX' שבתוכו?

    • רן בר-זיק הגב מרץ 4, 2018 בשעה 8:46 am

      החלפתי את התוים האמיתיים ב-XXXX כמובן.
      ה-sso:key הוא כנראה מפתח שצריך. איך משיגים אותו? כמו שמשיגים כל ערך בכל בקשה שנשלחת מהטלפון – תפתח packet inspection.

השארת תגובה

ביטול

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

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

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