كيف وجدت طريقة لتتبع جميع برامج تشغيل Citimobil

في ليلة السبت ، كما هو الحال دائمًا ، جلست واستنشق حركة المرور من هاتفي. فجأة ، عند فتح تطبيق Citimobil ، رأيت أنه تم تنفيذ طلب واحد مثير للاهتمام دون أي مصادقة.

كان طلب للحصول على معلومات حول أقرب السيارات. بعد تلبية هذا الطلب عدة مرات بمعلمات مختلفة ، أدركت أنه يمكنك تفريغ البيانات حول سائقي سيارات الأجرة في الوقت الفعلي تقريبًا. فقط تخيل عدد الأشياء المثيرة التي يمكنك تعلمها الآن!



كيف بدأ كل شيء؟


نعم ، جلست وشاهدت حركة المرور من الهاتف. الحقيقة هي أنني مهندس ، وأنا أدرس باستمرار كيف تعمل التقنيات والأشياء المختلفة من حولي. لذلك كان هذا الوقت.

لقد استخدمت mitmproxy (رجل في الوكيل الأوسط) ، رجل في برنامج الهجوم الأوسط. هناك العديد من التعليمات لتثبيته وتكوينه ، والمبدأ العام هو هذا:

  1. اتصل بشبكة WiFi المنزلية من هاتفك وجهاز الكمبيوتر
  2. قم بتشغيل mitmproxy على الكمبيوتر
  3. على الهاتف ، تقوم بتسجيل العنوان المحلي للكمبيوتر باعتباره الوكيل الرئيسي (يمكنك بالفعل البحث داخل http)
  4. قم بتنزيل وتأكيد الشهادة على هاتفك (يسمح لك بالبحث داخل https)

الآن ، بشكل تقريبي ، يتم نقل جميع حركة المرور من الهاتف أولاً إلى الكمبيوتر ، ويتم فك تشفيرها ، وعرضها على الشاشة ، وتشفيرها واستمرارها. والعكس صحيح.

بهذه الطريقة ، أتعلم كيف يتم إنشاء تطبيقات مختلفة ، وأحيانًا أجد أشياء مثيرة للاهتمام للغاية. على سبيل المثال ، رأيت هذه المرة طلبًا من تطبيق Citimobil للحصول على معلومات حول أقرب برامج التشغيل ، والتي لم تتطلب المصادقة.

علة فضله Mail.ru


لقد وضعت كل المعلومات على hackerone وأرسلتها للمراجعة. بعد تجربة التفاعل مع فضل أخطاء Yandex ، لم أكن أتوقع استجابة سريعة ، لكن بعد 3 دقائق أغلقت شخصًا "3apa3a" تقريري. سرعة كبيرة ، Mail.ru!

وردا على ذلك ، كتبوا أن البيانات تظهر للمستخدم في التطبيق ، مما يعني أنها ليست حساسة وليس هناك حاجة لحمايتها.



حسنا اذن نظرًا لأن هذه بيانات عامة ، فلنستمتع!

كيفية الحصول على البيانات؟


يمكن الحصول على معلومات عن أقرب 10 سائقين إلى الموقع الجغرافي عن طريق إرسال طلب POST إلى العنوان التالي:

https://c-api.city-mobil.ru/getdrivers

- :

{
    "latitude": LAT,
    "longitude": LON,
    "limit": 10,
    "method": "getdrivers",
    "radius": 5,
    "tariff_group": [ 4, 5, 6 ],
    "ver": "4.33.0"
}

tariff_group — . , , , ..
radius limit , , .

, :

curl -X POST --data '{ "latitude": 55.7, "limit": 10, "longitude": 37.6, "method": "getdrivers", "radius": 5, "tariff_group": [4], "ver": "4.33.0" }' https://c-api.city-mobil.ru/getdrivers

JSON 10 (LAT, LON) :

{ 
   "drivers":[ 
      { 
         "id":"1c1f6779f893af6fe5bf4509af7366cd",
         "lt":"55.7025061",
         "ln":"37.5954334",
         "direction":"3",
         "CarColorCode":"000000",
         "car_type":"comfort_plus"
      },
      { 
         "id":"1a13d0daad9b6a3fa2b3d04a5b6f8c2a",
         "lt":"55.7019682",
         "ln":"37.6054896",
         "direction":"3",
         "CarColorCode":"000000",
         "car_type":"comfort"
      },
      { 
         "id":"c7c1634fae41a68924083af1d496d0a7",
         "lt":"55.7014223",
         "ln":"37.6067352",
         "direction":"3",
         "CarColorCode":"000000",
         "car_type":"comfort_plus"
      },
      { 
         "id":"f15ce054ccdaa268b16a0904b9eecdae",
         "lt":"55.6956527",
         "ln":"37.5972063",
         "direction":"4",
         "CarColorCode":"000000",
         "car_type":"sedan"
      },
      { 
         "id":"94ebc0fcc644bb1da4b57e7d23942e6d",
         "lt":"55.694786",
         "ln":"37.5982642",
         "direction":"4",
         "CarColorCode":"000000",
         "car_type":"sedan"
      },
      { 
         "id":"7251c45ee945c9cb839d69d5902b9f17",
         "lt":"55.7009351",
         "ln":"37.6094206",
         "direction":"3",
         "CarColorCode":"000000",
         "car_type":"comfort"
      },
      { 
         "id":"cb9dab2ba7379c3db817dd76ec68e6c5",
         "lt":"55.6950137",
         "ln":"37.6041883",
         "direction":"8",
         "CarColorCode":"000000",
         "car_type":"sedan"
      },
      { 
         "id":"761891d9c1129b1678c3eba616249e2b",
         "lt":"55.6944542",
         "ln":"37.5951122",
         "direction":"2",
         "CarColorCode":"000000",
         "car_type":"sedan"
      },
      { 
         "id":"4f0e835751cadaa5d5386f0e1374f315",
         "lt":"55.7066516",
         "ln":"37.6011767",
         "direction":"7",
         "CarColorCode":"000000",
         "car_type":"sedan"
      },
      { 
         "id":"2eb330cad5e5d9c87e6d0600a9ff10e8",
         "lt":"55.7066801",
         "ln":"37.6009127",
         "direction":"8",
         "CarColorCode":"000000",
         "car_type":"comfort"
      }
   ],
   "nearest":{ 
      "duration":420
   },
   "service_status":1
}


,

{ 
    "id":"2eb330cad5e5d9c87e6d0600a9ff10e8",
    "lt":"55.7066801",
    "ln":"37.6009127",
    "direction":"8",
    "CarColorCode":"000000",
    "car_type":"comfort"
}

, , , (-), . !

!


, 10 , N , N .

. , , , . , — mail.ru ip.

«», . .

,



, ?
11 4374

? .



. ?



- .



, . .

?


, .

-, «».

-, (, .) . , . , , .

-, , . . , , «», , .


, .

Mail.ru , , ., . .

Mail.ru , , bug bounty.

?

, ! , .

!

Source: https://habr.com/ru/post/ar480956/


All Articles