![](https://habrastorage.org/files/23b/892/9db/23b8929db97c4bcd9ed825e31a962db7.jpg)
Казалось бы, что такого? Но выяснилось, что предсказуемая структура длинного URL иногда позволяет по одному найденному документу получить доступ к другим документам на хостинге или всообще ко всем документам!
В частности, до марта 2016 года такая структура длинного URL была на хостинге Microsoft OneDrive (она описана ниже), но схожий принцип может быть на других сервисах.
Сокращатель ссылок встроен в OneDrive и другие облачные сервисы, так что короткий адрес автоматически присваивается каждому документу, даже с секретной информацией. Ну а если кто-то подберёт этот адрес, то может получить доступ к аккаунту, отредактировать документы, внедрить загрузчик трояна и т.д.
Результаты 18-месячной работы исследователи опубликовали в докладе.
Как видно из доклада, авторы сконцентрировались на двух сокращателях, которые встроены в OneDrive и Google Maps.
OneDrive
Здесь адреса документов и папок кодируются в адреса домена 1drv.ms, обслуживаются оператором Bitly и им присваиваются те же токены, что и на bit.ly. Другими словами, любое сканирование токенов bit.ly автоматически находит и адреса 1drv.ms. Во время пробного сканирования 100 000 000 URL в домене bit.ly со случайно выбранными 6-символьными токенами 42% оказались активными URL. Из них 19 524 вели к документам и папкам на хостинге OneDrive/SkyDrive. Но это не всё.
Как выяснилось, адреса OneDrive имеют предсказуемую структуру. Зная полный URL одного документа, можно сконструировать корневой URL и автоматически перейти в аккаунт, открыть все файлы и папки.
Например, брутфорсом вы обнаружили URL http://1drv.ms/1xNOWV7, который резолвится в https://onedrive.live.com/?cid=485bef1a80539148&id=485BEF1A80539148!115&ithint=folder,xlsx&authkey=!AOOp2TqTTSMT5q4.
Из длинного URL мы извлекаем параметры cid и authkey, с помощью которых конструируем корневой URL для аккаунта: https://onedrive.live.com/?cid=485bef1a80539148&authkey=!AOOp2TqTTSMT5q4.
Для получения доступа к конкретному документу, нужно в исходном коде страницы на облачном хостинге найти элементы с атрибутами href, содержащие &app=, &v=, /download.aspx? или /survey? (этот конкретный способ вроде бы не работает с марта 2016 года).
![](https://habrastorage.org/files/421/f7a/4a9/421f7a4a91fd44d5b18b37dd5c8f4806.png)
Для поиска других папок нужно искать ссылки, которые начинаются с onedrive.live.com и содержат cid аккаунта.
Таким методом авторы исследования выявили ещё 227 276 документов на хостинге OneDrive.
Что характерно, около 7% найденных папок были открыты на запись. Не нужно объяснять, что это значит, учитывая, насколько легко обойти встроенный антивирус OneDrive.
Google Maps
До сентября 2015 года у адресов goo.gl/maps были токены из 5 символов. Сканирование случайной выборки выявило 23 965 718 активных ссылок, из которых 10% оказались картами с маршрутами движения, в том числе к больницам для больных раком и с психическими расстройствами, центры для алкоголиков и наркоманов, центры абортов, тюрьмы. В общем, деликатная информация. Например, маршрут от центра абортов до определённого адреса, в принципе, позволяет предположить место проживания человека. Если это дом, где живёт одна женщина, то и предположить личность. Затем, составить карту со всеми адресами, где этот адрес был начальной или конечной точкой движения. Вот такая карта для одного человека.
![](https://habrastorage.org/files/19d/322/265/19d322265d404c809518c3b25a214f96.png)
Как отреагировали компании
Представители Microsoft после двухмесячной переписки сказали, что не считают брутфорс токенов уязвимостью. Однако некоторые описанные выше методы перестали работать. Когда с представителями Microsoft связались снова, они отрицали, что сделанные изменения имеют отношение к данному отчёту.
Компания Google отреагировала немедленно, перешла на токены 11-12 символов и ограничила возможности сканирования URL.
Комментарии (31)
tmin10
16.04.2016 00:44+1Интересно, зачем эти люди сохраняли в картаз гугла свои маршруты и получали на них короткую ссылку?
Mear
16.04.2016 00:53Что бы потом вбить в навигатор на машине? Или… может при формировании своей карты (например создал и сохранил её) короткие ссылки у гугломепа генерятся автоматом как и у onedrive?
tmin10
16.04.2016 00:58Сомнительно, что машина сама не может построить маршрут, но сможет открыть гуглокарту через короткую ссылку…
Проверил с картами гугла: создал новую карту и тыкнул поделиться, гугл выдал длинную ссылку вида https://www.google.com/maps/d/edit?mid=zla1dZHd1kro.kirluZEjefqE&usp=sharing (ссылка не валидная, просто образец)
Хотя первая часть map id как раз 12 символов, может это и есть токен для сокращалки. Но всё равно непонятно, зачем нужно создавать карту с точкмаи пути от дома до клиники.Mear
16.04.2016 08:39+1Сомнительно, что машина сама не может построить маршрут, но сможет открыть гуглокарту через короткую ссылку…
Вопрос не в том, что не сможет. Тот же маршрут, но например, сложно-сочлененный проще составить на компе и потом просто открыть на телефоне или навигатор. По той же логике и делают всякие фишки типа Send To Car или они по вашему тоже ерундой занимаются, ведь маршрут же сразу можно в машине построить?
black_semargl
18.04.2016 11:23Навигатор-то может и может, но для этого надо вбить в него название/адрес клиники.
Без ошибок, длинную строчку.
А в компе её получают из гугля или ещё каким копипастом.
Punkero
16.04.2016 12:56+5Я так делал, когда нужно было поделиться составленным маршрутом с другим человеком. Копировать полную километровую ссылку — не по фен-шую
tunelix
16.04.2016 01:29goo.gl до сих пор выдает 7и символьные ссылки. Старые ссылки, кстати, ищутся очень легко на сотню случайных выпадает парочка рабочих ссылок.
Darth_Biomech
16.04.2016 06:40+6Сокращатели ссылок — вообще зло. Мне было бы приятно знать заранее, что ссылка на которую я кликаю ведет туда, куда я думаю, а не на вирус или фишинговый сайт (прецендент уже был). Особенно учитывая, что любят сокращать не те монструозные типы ссылок где пара сотен символов в адресе, а вообще любые.
MartinX
16.04.2016 16:26+1Некоторые используют сокращатели чтобы посчитать количество переходов по ссылке (в аккаунте сокращателя обычно пишется сколько раз перешли). Ну или специально делают, чтобы те же реф ссылки не палить :).
gene4000
16.04.2016 09:45А всего лишь нужно использовать удлинители :) которые перебором получить невозможно.
http://www.5z8.info/cats-being-dropped-into-the-sea_k5p9cm_mercenary
Вот только непонятно, зачем огромное количество сервисов стали массово использовать сокращатели ссылок, которые изначально делали для твиттера. Нужно просто упрощать структуру, а не радикально уменьшать.Giriia
16.04.2016 15:52Использовать стали потому, что не все понимают, что такое «разметка» и как её приготовить. И вместо вставки ссылки, используют тупо копипаст, как здесь: " https://www.google.by/search?q=%D1%82%D0%B5%D1%81%D1%82&ie=utf-8&oe=utf-8&gws_rd=cr&ei=HjQSV7KuIce2swGB74jwCA ". А это захламляет сообщение и делает его нечитабельным. Ну и не все соцсети вообще поддерживают вёрстку.
Да и если к примеру печатать ссылку(или указывать её в презентации и етс), то использование сокращателей просто необходимо, ибо перепечатать такое большое количество символов без ошибки крайне трудная задача.gene4000
16.04.2016 16:04+1Запомнить из презентации http://tr.im/cRs93z как мне кажется не намного проще, чем http://site.com/article/about-links
Lobey
16.04.2016 19:18+1Запомнить — да. А записать? А отправить через SMS/твиттер? Да и пример у вас кособокий: конечно же, есть случаи, когда сокращать бесполезно. Но есть и миллионы случаев, когда без этого не обойтись. Сравните:
https://goo.gl/VzQCNJ
и
https://www.google.ru/maps/place/%D0%9C%D0%BE%D1%81%D0%BA%D0%BE%D0%B2%D1%81%D0%BA%D0%B8%D0%B9+%D0%9A%D1%80%D0%B5%D0%BC%D0%BB%D1%8C/@55.7520233,37.6153054,17z/data=!3m1!4b1!4m2!3m1!1s0x46b54a50b315e573:0xa886bf5a3d9b2e68
gena_glot
16.04.2016 10:17-3На самом деле можно и собственно, и 40 символьные адреса брутфорснуть. Можно сидеть и для сайта строки перебирать подряд. Как правило надо посмотреть внимательно на схему url-ования и можно прокверить какой-то сайт и написать скрипд который будет кверить, дизайн в большинстве случаев url-схемы, очень простой. Такие дела.
ssneg
16.04.2016 12:14+2решение: на стороне сервера ограничивать кол-во запросов по IP, вроде защиты от ддос, добавлять капчу и т.п. Тогда придется ботнеты подключать, что на порядок сложнее.
EvgeniD
16.04.2016 15:20Ограничение по IP отлично решается IP v6 :)
Капча сразу убивает всю идею сокращателей…
GUID интереснее, либо хэш… даже примитивный md5, соленый к примеру timestamp'ом и/или ip (без возможности восстановить их)
green_tree
16.04.2016 12:56пропустим вопрос о том, почему же вообще кто-то шарит документы короткими ссылками…
ведь у всех этих сервисов (onedrive, dropbox, etc...) есть шаринг для конкретного пользователя, вбиваем email и готово, файл расшарен с нужными людьми
а если уж нужна ссылка для неопределенного круга людей, то какой это конфиденциальный документ?)
и у onedrive есть галочка, чтобы сделать короткую ссылку (не знаю как их онлайн офис работает, но на генерацию ссылки на залитый файл уходит какое-то время, поэтому мне не кажется, что прям для каждого расшаренного файла автоматически короткая ссылка не создается, а только по запросуZavtramen
16.04.2016 17:02но на генерацию ссылки на залитый файл уходит какое-то время
Ну какое-то конечно уходит, но думаю им можно пренебречь и считать его равным 0, если сравнивать к примеру со временем скачивания файла.green_tree
16.04.2016 17:04я имел в виду это:
> Сокращатель ссылок встроен в OneDrive и другие облачные сервисы, так что короткий адрес автоматически присваивается каждому документу, даже с секретной информацией
что на залитые файлы это делается вручную, а не автоматическиZavtramen
16.04.2016 17:06Возможно они все равное всегда делают эту ссылку, просто если пользователь просит — показывают ее, а если не просит — не показывают.
green_tree
16.04.2016 17:27всё может быть, но как-то нелогично делать короткую ссылку, а отдавать её только по запросу… хотя это только моя логика))
MikeKosulin
16.04.2016 16:57+1Вообще короткие ссылки редко когда нужны на длительный срок: почему бы не сделать тупо ограничение по времени и предупреждение, что «использование вечных коротких ссылок небезопасно»?
tendium
17.04.2016 00:07+1Ну, так во время брута можно сбрутить те ссылки, которые туда сунули 10 минут назад. Проблема-то явно не в сервисе сокращения ссылок, а в том, что юзеры шарят там то, что шарить таким образом в принципе нельзя.
Zavtramen
16.04.2016 17:00+3Уж сколько раз твердили миру, security throught obscurity никогда к добру не приводит, если есть хоть сколько-нибудь секретные данные. Но пользователи тоже отличились: «около 7% найденных папок были открыты на запись», тут медицина бессильна.
saboteur_kiev
16.04.2016 17:01То есть вместо сервиса-шорткатера теперь вполне может взлететь сервис-удлинитель?
djhox
Сначала даже не понял зачем им брутфорсить google maps, но по итогу выходит, что можно узнать распорядок человека с высокой точностью. Никогда бы не подумал про эту уязвимость.