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

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

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

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

בבדיקה שגרתית שעשינו, התגלה שזאפ מחזיקה קשת שלמה של 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 כאילו מדובר באתר רגיל. אם יש לכם סביבת בדיקות, אבטחו גם אותה כמובן.

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

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

אהבתם? לא אהבתם? דרגו!

לא אהבתי בכלללא אהבתיבסדראהבתיאהבתי מאוד (20 הצבעות, ממוצע: 4.60 מתוך 5)

תגיות: , פורסם בקטגוריה: חדשות אינטרנט

יאללה, שתפו :)

אל תשארו מאחור! יש עוד מה ללמוד!

4 comments on “פרצת אבטחה משמעותית באתר זאפ חושפת את כל המידע על המשתמשים
  1. אודי הגיב:

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

  2. עובר ושב הגיב:

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

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

    האם:
    uSERXXXXnAME
    pA$$WORDXXXX

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

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

    • רן בר-זיק הגיב:

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

כתיבת תגובה

האימייל לא יוצג באתר.

רישום