В детстве я подолгу засиживался в Uplink, где от лица хакера вы проникаете во внутренние системы организаций и забираете их данные.
Сегодня мы попробуем проникнуть внутрь сервиса с годовой выручкой $2.7 млн, построенного на Bubble, и получить “немного” личных данных оттуда 😏
Следите за руками и повторяйте за мной:
0. Данный фокус можно проделать с любым сайтом на Bubble, но для интереса мы возьмем сервис из раздела Showcases. Там представлены наиболее успешные компании, использующие Bubble, и одна из них - BetterLegal. Она помогает открывать бизнес в США и обслуживает 15 тысяч клиентов, имея годовой оборот $2.7 млн. Компания собирает множество личной информации для заполнения официальных бумаг и должна иметь хорошую безопасность.
1. Проверяем HTML-код сайта (ПКМ - Исследовать / F12)- сайты на основе Bubble содержат в названиях классов слово “bubble”.
Их лендинг сделан на Bubble, но иногда лендинги собирают с помощью других конструкторов (Tilda, Webflow), поэтому следует проверять сразу страницу аутентификации (Логин/Регистрация).
Нажав на кнопку Login мы попадаем на страницу с другим URL - порталы часто располагаются на отдельных субдоменах.
2. Пора посмотреть что у них под капотом - добавьте к доменной части “/api/1.1/meta/swagger.json”. Пример - https://app2.betterlegal.com/api/1.1/meta/swagger.json
3. Ура - мы внутри. Этот большой JSON содержит в себе описание API сайта. Пользуясь поиском по странице (Ctrl+F) и ключевым фразам мы можем быстро пробежаться по 3 вещам:
1. retrieve a list - таблицы базы данных с описанием запросов к ним
2. Triggers the workflow - backend workflows
3. "definitions" - параметры таблиц баз данных и структура запросов к backend workflows
4. Давайте попробуем вытащить данные одной из таблиц - для этого нужно добавить к доменному имени “/api/1.1/obj/[тут имя таблицы]”. В нашем примере это таблица Affiliate - https://app2.betterlegal.com/api/1.1/obj/affiliate
5. Готово, вы прекрасны! Используя дополнительные параметры cursor и limit, вы можете получить список 106 тысяч имен и емайлов, которые не должны были оказаться в публичном доступе. Проверив таблицу “org” вы вдобавок обнаружите список компаний, скорее всего зарегистрированных в данном сервисе, всего их 28 тысяч на данный момент.
Вау, очень интересно! Но какой урок мы можем вынести из всего этого?
Скорее бегите в базу данных настраивать Privacy rules, если вы еще не сделали этого.
А если вы хотите узнать, как дернуть на этом сайте backend workflow и получить сервис показывающий весь этот сложный JSON в хорошем виде еще и с открытыми backend workflows и количеством данных в базах - ставьте лайк и подписывайтесь - скоро я опубликую следующую часть.
Post #61
736
- 👍 33