TGViewer
Грязный ноукодер Грязный ноукодер @lowcodingdev · 3.52K subscribers
Post #62 754
Спасибо за огромный отклик! Продолжаем.

1. Ребята из золотого агентства Bubble - Tinsko, любезно предоставляют сервис для проверки своего приложения. Для этого, однако, потребуется не домен сайта, а ID приложения внутри Bubble. Откуда же нам его взять? Правильно - все из того же файла, он располагается прямо в самом начале API спецификации в параметр “title”.

2. Используем найденный ID (betterlegal) и получаем результат. У нас, как на ладони, лежат все доступные страницы, таблицы, workflows, option sets, плагины и даже API ключи в скрытом виде. Отсюда удобно быстро проверять в каких таблицах имеются данные, находить скрытые страницы (к примеру /test - никогда не забывайте закрывать страницу, на которой вы тестируете функционал), а также увидеть какие из workflows открыты. (открытые workflows имеют пустой параметр "security": [] в спецификации)

3. И так - мы нашли 4 открытых workflows. Так как у нас есть доступ к таблице Affiliate, мы выберем workflow affiliate-create-user. По названию workflow мы можем найти описание структуры запроса в конце спецификации. Из описания следует, что в запросе должен быть указать параметр affiliate, который является ничем иным как unique ID записи таблицы Affiliate.

4. Составляем запрос.
- URL запроса - https://app2.betterlegal.com/api/1.1/wf/affiliate-create-user
- метод POST (из спецификации - “description": "Body of the POST request")
- для JSON Body мы возьмем unique ID случайной записи из Affiliate - {"affiliate":"1643829228111x996033319926247400”}
Не забудьте указать в Headers Content-Type=application/json.

5. Отправляем запрос и получаем ответ "status": "success”. Ура 🥳 Возможно, мы только что создали проблем для разработчика, которому придется разбираться с очередным странным поведением системы, как будто у него нет других забот. Ай-я-яй…

Лирическое отступление - данную фичу(а не баг) я нашел не сам, ее опубликовал Ryan Kulp. Из статьи следует, что он писал множеству сайтов с данной дырой в системе, но большинство из них не ответили.
По моему личному опыту большинство команд не успевают следить за всеми деталями, люди в командах то и дело меняются и в приоритете находятся совсем другие задачи. Отсутствие настроек приватности может указывать на использование этих данных в каких-либо запросах внутри Bubble или извне. Из-за неэффективного построении БД или воркфлоус вы можете оказаться заложником такой ситуации и ее исправление (закрытие данных от публики) может стать очень трудозатратным в будущем.

Чтобы избежать такой ситуации, сверьтесь с чеклистом Tinsko и стройте приложения с учетом будущего роста.

Хотите узнать как улучшить производительность и безопасность Bubble приложения?
Ставьте лайк и подписывайтесь - совсем скоро я опубликую 5 советов по улучшению безопасности вашего Bubble приложения.

P.S. камон, не все так страшно, просто поставьте галочку Hide Swagger API documentation access в Settings - API 😐
  • 👍 19
  • ❤ 4
More from @lowcodingdev
  1. Oct 4, 2026Фильмы являются важной частью моей жизни - одни учили меня как нужно и не нужно себя вести…
  2. Sep 22, 2026Не так давно я писал про новую роль, которая может подойти вам с опытом no-code разработки…
  3. Sep 15, 2026Пока описывал, как работает система в маркетинговом агентстве, понял, что уже и сам забыл,…
  4. Sep 10, 2026Автоматизация маркетингового агентства - часть 2 Следующим этапом стало построение сквозно…
  5. Sep 9, 2026У меня 2 оффтоп вопроса: 1. Почему никто не сделал ИИ агента тамагочи, который живет свою…
  6. Sep 8, 2026Автоматизация маркетингового агентства Год назад мне подкинули клиента (шатаут Эдуарду @e_…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →