Comment j'ai trouvé un moyen de suivre tous les pilotes Citimobil

Le samedi soir, comme toujours, je me suis assis et j'ai reniflé le trafic depuis mon téléphone. Soudain, en ouvrant l'application Citimobil, j'ai vu qu'une requête intéressante était en cours d'exécution sans aucune authentification.

C'était une demande d'informations sur les voitures les plus proches. Ayant rempli cette demande plusieurs fois avec différents paramètres, j'ai réalisé que vous pouvez décharger des données sur les chauffeurs de taxi en temps quasi réel. Imaginez juste combien de choses intéressantes vous pouvez apprendre maintenant!



Comment tout a commencé?


Oui, je me suis vraiment assis et j'ai regardé le trafic depuis le téléphone. Le fait est que je suis ingénieur et j'étudie constamment le fonctionnement des technologies et des différentes choses qui m'entourent. C'était donc cette fois.

J'ai utilisé mitmproxy (Man In The Middle Proxy), un homme dans le programme d'attaque intermédiaire. Il existe de nombreuses instructions pour l'installer et le configurer, et le principe général est le suivant:

  1. Connectez-vous au WiFi domestique depuis votre téléphone et votre ordinateur
  2. Exécutez mitmproxy sur l'ordinateur
  3. Sur le téléphone, vous enregistrez l'adresse locale de l'ordinateur comme proxy principal (vous pouvez déjà regarder à l'intérieur de http)
  4. Téléchargez et confirmez le certificat sur votre téléphone (vous permet de regarder à l'intérieur de https)

Maintenant, grosso modo, tout le trafic du téléphone va d'abord à l'ordinateur, est décrypté, affiché à l'écran, crypté et continue. Et vice versa.

De cette façon, j'apprends comment différentes applications sont faites, et parfois je trouve des choses très intéressantes. Par exemple, cette fois, j'ai vu une demande de l'application Citimobil pour obtenir des informations sur les pilotes les plus proches, qui ne nécessitaient pas d'authentification.

Bug bounty Mail.ru


J'ai mis toutes les informations sur hackerone et l'ai envoyé pour examen. Après l' expérience d'interagir avec la prime de bug Yandex, je n'ai pas compté sur une réponse rapide, mais après 3 minutes, quelqu'un «3apa3a» a fermé mon rapport. Grande vitesse, Mail.ru!

En réponse, ils ont écrit que les données sont montrées à l'utilisateur dans l'application, ce qui signifie qu'elles ne sont pas sensibles et qu'il n'est pas nécessaire de les protéger.



Eh bien. Puisqu'il s'agit de données publiques, amusons-nous!

Comment obtenir des données?


Des informations sur les 10 chauffeurs les plus proches de la géolocalisation peuvent être obtenues en envoyant une demande POST à ​​l'adresse suivante:

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/fr480956/


All Articles