HexBrain

Eternal · Report #245408

Login to any account with the emailaddress

Validstatus
highseverity
$1,000bounty
103upvotes
17 Aug 2017disclosed

Summary

Introduction

An attacker just needs to supply an email address to gain a valid access token for the Zomato applications. Thus any account on Zomato can be fully accessed with just the email address.

#Endpoint /v2/auth.json

Impact

Critical, without any user interaction an attacker can access any account.

At some point I started focusing on the mobile app, since in my experience a mobile app has more server-side (read criticial) issues, while a webapplication has more client-side vulnerabilities. After testing the login flow for the three different options: Facebook, Google and password based, I noticed that Google login looked slightly weird in the fact that a lot of data was send besides the Google OAuth token. Thus I started stripping parameters one by one after which I noticed that only the email of a user was required to login. This request would look like:

POST /v2/auth.json?isGoogle=true HTTP/1.1
X-API-Key: 4749b89651969b87a3kfc739o254ada2
Content-Type: application/x-www-form-urlencoded
Content-Length: 21
Host: api.zomato.com
Connection: close

[email protected]

Thus I could login as any user on Zomato given I knew their email address.

How it was found

The write-up for this report has not been downloaded yet, or the program disclosed it without one. Read it on HackerOne.

This report was disclosed publicly on HackerOne and belongs to its author and the program. See the original