Конечно, я сразу решил сообщить об этом в Google через программу BugHunter. Но, к моему сожалению, потратив неделю на общение со специалистами Google мне так и не удалось убедить их, что это баг. Сотрудник не смог воспроизвести этот баг и я получил ответ, что «это не баг, а фича» и меня отправили в RTFM. В конце концов Google просто закрыл тикет и перестал отвечать на мои письма.
Так как переписка с Google зашла в тупик, я решил публично рассказать о этой «фиче» и, возможно, наконец привлечь внимание сотрудников Google к этой проблеме или хотя-бы понять, что я делаю не так. Ниже под катом история переписки с Google и proof of concept.
Вот отчет, который я отправил в Google.
Summary: Service abuse: Free unlimited file storage, space counting errorКак ясно из текста, чтобы воспроизвести проблему, необходимо создать новую учетную запись. После чего перейти в google drive и найти файл «Getting started», который создается автоматически в каждом новом аккаунте.
Steps to reproduce:
- Create a new google drive account
- File «Getting started» appeared
- Right click on the file, click on «Manage Versions»
- Upload any amount of files as a new version of «Getting started», no space counting, even with «keep forever» checked for that file.
Browser/OS: Any
Attack scenario:
Any regular user can do that with google drive user interface or experienced user via google drive api. A user can upload unlimited amount of files without any payments and store files forever for free.
Первое, что мне сразу бросилось в глаза, что размер этого файла 1MB, но занимает он 0 байт.
Это было странно, так как PDF это не нативный формат хранения Google Drive и должен использовать общий лимит. Было понятно, что сервис каким-то образом исключает этот файл из списка на подсчет места. Простое копирование файла приводило к тому, что файл начинал весить реальный мегабайт.
Однако, как оказалось, если вместо копирования файла просто загружать новую версию, то эта новая версия все равно будет занимать 0 байт.
Перед тем как опубликовать эту статью, я повторил эксперимент с новой учетной записью и без всяких проблем успешно загрузил 17GB в аккаунт с лимитом 15GB.
В Google Drive можно выбрать опцию «сохранять все версии», я проверил, если ее выбрать, то все версии файла сохраняются и не тратят лимит места.
Таким образом, путем нехитрых ухищрений можно хранить сколько угодно файлов любого размера в Google Drive.
К сожалению, сотрудник Google не смог воспроизвести эту проблему и попросил меня сделать видео:
Hey,Я сделал видео со своего тестового аккаунта в моем домене Google Apps с лимитом 15GB.
We're closing this bug, as you didn't provide enough details for us to determine what the security issue you're reporting. Feel free to update this report with additional details.
We tried to replicate it and wasn't able to, if you think you were able to feel free to share a proof of concept in a video.
If you didn't provide this yet, please include the reproduction steps (https://sites.google.com/site/bughunteruniversity/improve/help-us-reproduce-the-bug), an attack scenario (https://sites.google.com/site/bughunteruniversity/improve/writing-the-perfect-attack-scenario) and a short explanation why do you believe this is a technical security vulnerability.
Thanks!
Google Trust & Safety
И через некоторое время получил вот такой ответ:
Hello,Дальнейшие мои попытки связаться с Google не увенчались успехом, я попробовал написать еще один комментарий, приложил еще раз видео с POC с обычного акаунта, но в ответ только тишина.
Thanks for the POC, we noticed in the video you shared it is associated with Gsuite account visible on the right top of the video screen.
For more information on G suite storage limit please visit. support.google.com/a/answer/172541?hl=en
Your report is now *closed*
Thanks!
Google Trust & Safety
В заключение, хочу сказать, что я достаточно много участвовал в Yandex BugBounty и всегда получал отличную обратную связь по всем моим отправленным отчетам. К сожалению, в Google, на мой взгляд, очень странно относятся к таким сообщениям. Скорее всего, это моя первая и последняя попытка отправить информацию о баге в приложениях Google при такой обратной связи.
P.S. Ссылка на report, если на Хабре вдруг присутствуют сотрудники Google, возможно они смогут прояснить, что я сделал не так.
UPDATE 26.02.2020:
Сегодня баг переоткрыли. Всем спасибо!
Petrenuk
Классный баг! Так и вижу где-нибудь в коде if filename == 'getting started.pdf': size = 0
Google конечно не правы в этой ситуации. Надеюсь это просто недобросовестный сотрудник который проверяет сообщения о багах, а не технический персонал
andreyvo
Сотрудник ага
https://coub.com/view/28tvw1
aig Автор
Очень печально, что из-за таких «сотрудников» теряется вера в Google и их проект BugHunter. Желания присылать им другие уязвимости у меня поубавилось.
Balling
Господи, можно просто зарегистрироваться как фейковый студент (США) и получить вообще безлимитный google drive (максимум размер файлов 5 TB единственное ограничение, причем там еще общие диски есть). 4pda.ru/forum/index.php?showtopic=889003&st=4740
Причем там и Office 365, и one drive 1 Tb, и т.д. можно заполучить.
Лучше использовать Санта-барбару институт. Или вашингтон…
sav6622
Ага, вот что на ави*о массово продают…
Balling
Нет, это бесплатно можно сделать, это учетка в зоне названиеунивера.edu (не gmail.com). А на Авито и Ebay необязательно это продают, там могут продавать корпоративные учетки в корпоративной деменной зоне. А не .edu. У неё из плюсов более долгий срок действия, так как админы в курсе этого, а в универах такие учетки банят, хотя у меня пока только одну забанили. А минусов у такой учетки полно. Например её нельзя использовать в амазоне или у apple с autodesk или в github, потому что они требуют .edu в конце для бонусов. Советую вашингтонский колледж, там сложнее получить, но зато плюшек больше 4pda.ru/forum/index.php?showtopic=889003&st=3920#entry90421744
Еще смотрите огромною сводную таблицу разных колледжей.
docs.google.com/spreadsheets/u/0/d/1k7pUwL0PxNnMRWPfQ65brvaFy7pyLJ3gKKXWafPTqdw/htmlview
У меня была mail.ccsf.edu, её забанили, эта инфа есть в таблице (массово банят учетки).
Irgen
В какой-то момент просто начинаешь понимать, что твои данные, удобство их извлечения, и возможность не гадать «забанят-не забанят» стоит дороже, чем деньги которые за это просят
yokotoka
А потом приходит понимание, что и деньги ничего этого не гарантируют, а загружаемые вами данные вам не принадлежат. Почитайте ToS'ы этих сервисов с их отказами от ответственности, возмещение и передачей исключительных прав и прав на доступ к ним "третьими лицами" по факту размещения данных в сервисах.
Irgen
Не гарантируют, кто ж спорит. Но все же шанс что Гугл потеряет или заблочит все мои файлы в оплачиваемом мной гугл диске — очень сильно ниже, чем если я буду пользоваться «безлимитным фейковым студентом», которого заблочат просто по факту выявления. А отказы от ответственности и вот это всё мы получим в равной мере. Если вам нужны гарантии, ответственность и возмещения, ну так и ценник будет соответствовать, и договор будет на 30 листах. Наивно думать что можно все это получить за 10$ в месяц любому желающему.