תחומים
    • הרשמה
    • התחברות
    • חיפוש
    • קטגוריות
    • פוסטים אחרונים
    • משתמשים
    • חיפוש
    חוקי הפורום

    protobuf ביישומי גוגל?

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

      מי שפעם חפר בכל מיני שירותי גוגל, לראות איך הם שולחים נתונים, ראה שזה לא ג'ייסון רגיל.
      הנתונים נשלחים בJS בכל מיני מערכים מוזרים עם הרבה NULL ומספרים מוזרים.

      למשל המערכים הבאים במפות גוגל:
      612522ed-f597-4649-9652-193f8579ce94-image.png
      בתוכם מסתתרים הנתונים של המקום המוצג.
      23755a11-1be2-4913-9df1-11cb0c57b5fd-image.png

      או זה, מגוגל קיפס:
      60535cf5-d475-4be5-bcfc-a1abc43b4316-image.png

      לכאורה זה נראה דרך להחביא את הנתונים כדי שלא יגנבו אותם.
      אחרת, מה העניין לשלוח NULL לשרת?
      לומר כלום?
      ולפעמים, כמו למעלה, זה המון NULL-ים...

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

      אם זה פורמט בינארי, ייתכן שהNULL הזה מסמל משהו בינארי.

      מישהו יודע לאשר / לסתור את ההשערה הזאת?

      או לפחות לתת איזה הגיון בקודים של שירותי גוגל?


      את ההשערה הזו, הבאתי מפה:
      https://medium.com/@marin_m/how-i-found-a-5-000-google-maps-xss-by-fiddling-with-protobuf-963ee0d9caff

      מציאה:
      אולי המבנה מסתתר פה?
      https://github.com/googleapis/googleapis

      nigun 2 תגובות תגובה אחרונה תגובה ציטוט 0
      • nigun
        nigun @MusiCode נערך לאחרונה על ידי nigun

        @musicode
        אתה יכול לנסות לכתוב תוכנה עם protobuf ולנסות להבין יותר מה הולך שם
        אבל לפי מה שראיתי עד עכשיו protobuf משמש לGRPC
        ולא אמורים לראות את זה כJSON
        נ.ב. לא קראתי עדיין את הפוסט שהבאת
        אולי זה יחדש לי משהו?
        עריכה: אני רואה שיש גם צד לקוח
        רק שלא הבנתי איך זה עובד? מעל וובסוקט?

        מייל: ynigun@pm.me

        תגובה 1 תגובה אחרונה תגובה ציטוט 0
        • nigun
          nigun @MusiCode נערך לאחרונה על ידי nigun

          @musicode
          למעשה יכול להיות שיש להם struct או מערך שמקבל את כל הערכים מהJSON
          ולא תמיד יש ערכים לכל המפתחות
          אפשרות א. לא לשלוח כלום ולהשאיר את המפתח ריק (או לא ליצור אותו)
          אפשרות ב. לשלוח NULL ואז לשמור אותו במערך
          נראה לי שפשוט יותר קל לדבג באפשרות ב.
          (אגב בGO אם אתה לא מגדיר אפשרות שיתכן והמפתח יהיה חסר
          הוא לא יפרסר את הJSON)

          מייל: ynigun@pm.me

          תגובה 1 תגובה אחרונה תגובה ציטוט 1
          • 1 / 1
          • פוסט ראשון
            פוסט אחרון
          בא תתחבר לדף היומי!