Roman Leonov
2 623
Блоги

Как я обнаружил уязвимость раскрытия конфиденциальной информации у «Додо пиццы»

Сразу после обнаружения проблемы я написал письмо на почту техническому директору, адрес которой нашёл на официальном сайте dodois.com, а также Фёдору Овчинникову. Политика открытости компании позволяет это сделать. Часть проблемы уже решена, поэтому спокойно могу опубликовать свои любопытные находки — всё культурно и по этике.

Поделиться

В избранное

В избранном

Теперь к делу.

Случайно обнаружил уязвимость раскрытия конфиденциальной информации, несмотря на открытость компании во многих вопросах. Скорее всего, это внутренние данные, которые не должны видеть обычные пользователи, конкуренты и так далее.

Планирую делать ремонт на кухне, поэтому полез гуглить «чек-лист по ремонту на кухне». Второй результат в выдаче — доска пиццерии в Trello (популярный сервис для управления проектами) «Зеленокумск-1», где расписаны все задачи по подготовке и открытию заведения. Я не удержался и от любопытства посетил его (сейчас карточки уже закрыты).

Скриншот из выдачи Google, 4 февраля 2018 года

Мне стало интересно, почему у заведений «Додо пиццы» полностью открытые доски в Trello, где можно увидеть много конфиденциальной информации. Я решил посмотреть, что вообще есть в индексе Google из Trello-досок компании. Просмотрел только одну-две страницы и нашёл Зеленокумск, Алматы, Троицк (Московская область), Ухту, Петропавловск-Камчатский, Есик. Продолжать не стал — выдача на семь страниц.

Запрос site: с доменом и ключевым словом показывает все страницы, которые есть в индексе Google в рамках указанного домена и содержат искомое слово

Что можно увидеть в таких открытых Trello-досках

План и список всех задач по подготовке к открытию филиалов.

Лог действий по отметкам выполняемых задач (конкурентам очень удобно следить за прогрессом).

Подчёркнутый текст — ссылки на Google-документы

Документы в Google-таблицах с важной информацией, например, по анализу выбора помещения для открытия пиццерии или чек-лист по проверке пиццерии перед открытием. Документов было больше (да и сильно ковыряться не стал). Ссылки прилагать не буду, только скриншоты.

Более 900 пунктов
Шесть вкладок и множество пунктов с различными критериями и подходом к работе

Ссылки на старую базу знаний old.dodopizza.info. Например, сюда. Самое интересное, что домен old.dodopizza.info хоть и не индексируется, но при этом база знаний находится на устаревшей версии WordPress, который взломать проще, чем сервис, написанный на каком-нибудь фреймворке.

Проверили сайт на уязвимость, были такие результаты:
[+] WordPress version 4.4.4 (Released on 2016–06–21) identified from advanced fingerprinting, readme
[!] 34 vulnerabilities identified from the version number

Имена, фамилии, контакты участников досок в Trello, которые имеют доступ в сервисы «Додо пиццы». Скорее всего, далеко не у каждого суперсложный пароль.

Открытую доску в Trello бизнес-консультанта «Додо пиццы» по фрайнчайзингу.

Почему эта информация доступна

В Trello есть дурацкая возможность в настройках доски — по невнимательности можно сделать её «Публичной». Тогда она попадёт в индексацию Google — и всё. Многие не следили за этой настройкой и потом страдали.

Нужно делать вот так.

«Приватная» — там, где стоит галочка

Также не стоит открывать доступ к Google-документам по ссылке, так как она легко может попасть не в те руки. И автоподбором URL возможно открыть в том числе и ваши файлы.

У «Додо пиццы» очень классная политика открытости, и это позволяет завоёвывать сердца клиентов по всему миру. Но, скорее всего, открытость во внутренних процессах самих франчайзи, где светятся перечисленные выше вещи, и открытые возможности для уязвимости — это уже не очень.

Любопытно, что я полтора месяца назад написал письмо Фёдору Овчинникову и техническому директору, но ответа не последовало. Сегодня решил проверить — доступ по ссылкам закрыт, поэтому со спокойной душой решил опубликовать находку.

Ещё любопытно, что буквально накануне я заехал в «Додо пиццу» в Бишкеке и заказал себе сочный додстер и стакан кофе.

Мораль

  1. Будьте внимательней и следите за своей безопасностью и доступами.
  2. Trello — говно.

Из-за отсутствия настройки, которая делается за пару кликов, можно все внутренние задачи и файлы выставить на всеобщее обозрение. Мы, Peklo Studio, работаем с этим сервисом около года, но он всё равно не приживается и абсолютно неудобен для сотрудников, которые ведут несколько проектов, где для каждого проекта необходимо создавать отдельную доску.

Если будет интересно, я могу поделиться обзором сервиса, попытками его внедрения и фейлами при использовании. Планирую перейти на Basecamp для ведения работы по проектам агентства — что думаете? Какие ещё варианты?

#приёмная

{ "author_name": "Roman Leonov", "author_type": "self", "tags": ["\u043f\u0440\u0438\u0451\u043c\u043d\u0430\u044f"], "comments": 14, "likes": 36, "favorites": 10, "is_advertisement": false, "section_name": "blog", "id": "35663", "is_wide": "" }
{ "is_needs_advanced_access": false }

Комментарии Комм.

Популярные

По порядку

0

Прямой эфир

Подписаться на push-уведомления
[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } } ]