Казалось бы, что такого? Но выяснилось, что предсказуемая структура длинного 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 года).
Для поиска других папок нужно искать ссылки, которые начинаются с onedrive.live.com и содержат cid аккаунта.
Таким методом авторы исследования выявили ещё 227 276 документов на хостинге OneDrive.
Что характерно, около 7% найденных папок были открыты на запись. Не нужно объяснять, что это значит, учитывая, насколько легко обойти встроенный антивирус OneDrive.
Google Maps
До сентября 2015 года у адресов goo.gl/maps были токены из 5 символов. Сканирование случайной выборки выявило 23 965 718 активных ссылок, из которых 10% оказались картами с маршрутами движения, в том числе к больницам для больных раком и с психическими расстройствами, центры для алкоголиков и наркоманов, центры абортов, тюрьмы. В общем, деликатная информация. Например, маршрут от центра абортов до определённого адреса, в принципе, позволяет предположить место проживания человека. Если это дом, где живёт одна женщина, то и предположить личность. Затем, составить карту со всеми адресами, где этот адрес был начальной или конечной точкой движения. Вот такая карта для одного человека.
Как отреагировали компании
Представители 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, но по итогу выходит, что можно узнать распорядок человека с высокой точностью. Никогда бы не подумал про эту уязвимость.