Google Docs $3133.7 Reward for data Leak.

Bug discovered on: 19th March 2017       Research time: 4:30 p.m to 7:00 p.m

Earn more by display ads on blog with Lithific Ads

The security flaw in this post is a combination of the first two Google Bugs which I posted on this blog. 4 months ago... I was actually trying to find the encrypted ID of the Google drive file where all the form responses are recorded and bypass "Limit to 1 response". In the end, I couldn't find the ID and ended up with the other.
The vulnerabilities are:
1.) Leaking of the ID of file in Google Drive containing the form responses.
2.) Obtaining the email-id of the user with just 2 clicks.
The vulnerabilities are tested on my test account.
Here's how I found out...


Want to get icons for app Development Here  it's 

The below image shows the Settings menu for a Google form.



After you complete filling the form and submit it. You will see few options (if the form creator allows)     like "Edit your response", "See the previous responses".
If the form creator allows users to view the responses given by others, after the submission of the forms he/she will see "See previous responses". 
 
Notice the URL.
After clicking on "See previous responses".  One can see the responses and the URL of this page is
https://docs.google.com/forms/d/e/[form-id]/viewanalytics 
If the form creator unchecked the "See summary charts and text responses" then, after submitting the form there would be no link for viewing responses.
URL of the above page is https://docs.google.com/forms/d/e/[form-id]/formresponses
I replaced the "formresponse" in the URL with "viewanlaytics".

The new URL is https://docs.google.com/forms/d/e/[form-id]/viewanalytics
I thought it will be showing the summary and responses but it didn’t. It was showing a page for requesting the owner of the form. 
 
When the Request access button is clicked an e-mail will be sent to the form owner for asking permission to view the form responses.
Later I came to know that the page was lacking x-frame options and could be embedded in any website, making it vulnerable to clickjacking.
The video below shows the demonstration of Clickjacking.
Through this, the hackers can get the email-id of any logged-in user with just 2 clicks.

Information Leak.

The form-id and the Google Drive's file id where all the responses of the form are recorded are totally different. 
For example 
If the Form ID is 1FAIpQLSflZTFP5mscYfOUou_wIW1AjhrnkZSxvIKXGoJJA 
Then Google Drive file ID is 1dnVfApWOE7dcrObNUX_-iPseu1zIkowcxfQ
The file ID is encrypted and hackers cannot guess it. However, in the viewanalytics page the id was leaking.
The intercepted request after clicking on Request access button was (The below is the HTTP Request that will be sent to the server from the browsers):

POST /sharing/commonshare HTTP/1.1
Host: docs.google.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://docs.google.com/forms/d/[form-id]/edit?no_redirect=true
Content-Type: application/x-www-form-urlencoded;charset=utf-8
X-Same-Domain: explorer
Content-Length: 135
Cookie: ------------
Connection: close

requestType=requestAccess&itemIds=[Google Drive file-id]&foreignService=explorer&shareService=explorer&authuser=0


The itemIds parameter's value is the encrypted value of the File where all the form responses are stored.
The vulnerabilities are now fixed by redirecting the viewanalytics page to analytics-restricted. Here is the video for confirmation of fix.
March 19th 2017: Bug was reported.
March 24th 2017: I got a reply from Mr.Martin saying...
Hi, The clickjacking is not the issue here. Actually the leak of itemsid is a definitely a real issue. I've filed a bug based on your report. The panel will evaluate it at the next VRP panel meeting and we'll update you once we've got more information.
March 30th 2017: $ 3133.7 reward issued!
Earn more by display ads on blog with Lithific Ads

Comments