惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
小众软件
小众软件
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - Franky
Jina AI
Jina AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Y
Y Combinator Blog
V
Visual Studio Blog
C
Check Point Blog
阮一峰的网络日志
阮一峰的网络日志
U
Unit 42
量子位
人人都是产品经理
人人都是产品经理
博客园 - 聂微东
M
MIT News - Artificial intelligence
爱范儿
爱范儿
B
Blog RSS Feed
MyScale Blog
MyScale Blog
H
Help Net Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
美团技术团队
L
LangChain Blog
D
Docker

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания
Бесплатно и без СМС: как корпоративные food-карты могут с...
Влад · 2026-06-17 · via Все публикации подряд на Хабре

Простой

3 мин

515

Благими намерениями

Во множестве организаций существует такая фича социальной поддержки и удержания сотрудников, как корпоративные предоплаченные карты питания, или «foodcard», как их еще называют. Раз в квартал бухгалтерия перечисляет на них относительно небольшие суммы, которых хватает на кофе, аспирин и барбариски.

Финансовым посредником выступает одна из расчетных некоммерческих организаций (НКО) в нашей стране. Работодателю это выгодно: схема дешевле, избавляет от проблем и снижает налогообложение, а НКО получает свой законный мелкий гешефт.

Все счастливы. Все в безопасности. Все так думают.

номер карты естественно не настоящий, он даже не отвечает требованиям EAN-13 )

номер карты естественно не настоящий, он даже не отвечает требованиям EAN-13 )

Чтобы проверить баланс карты, её владелец должен открыть сайт-лендинг на специальном поддомене, ввести номер с обратной стороны пластика, и вуаля - система выдает данные о балансе, статусе SMS-уведомлений.. и полную историю операций.

Проявив немного здорового (или не очень) любопытства, можно выяснить, что все эти чувствительные данные отдаются в результате одного простого запроса

GET /api/v1/foodcard/3001234567894?limit=100

Ни пароля. Ни токена. Ни даже вялого намёка на двухфакторную защиту. Бесплатно, и без смс. Просто возьми и посмотри. Как если бы банк выдавал выписку по счёту любому, кто правильно назовёт номер твоего почтового ящика.

{
  "status": "OK",
  "data": {
    "phone": "+7 (999) - *** - ** -99",
    "balance": {
      "availableAmount": 41.96
    },
    "history": [
      {
        "time": "2026-06-24T19:39:52.000+03:00",
        "amount": -659.37,
        "locationName": [
          "KRASNOE&BELOE"
        ],
        "trnType": 774,
        "mcc": "5499",
        "currency": "RUR",
        "merchantId": "781000402060   ",
        "reversal": false,
        "posRechargeReceipt": null,
        "smsInfoReceipt": null,
        "credit": false,
        "locationCity": "Samara"
      }
    ],
    "smsInfoStatus": "OFF",
    "smsNotificationAvailable": false,
    "cardType": "food"
  }
}

Для демонстрации истории я оставил только одну операцию, но, надеюсь, этого достаточно, чтобы оценить масштаб проблемы.

От удобства к криповой реальности

Если предположить, что бэкенд сервиса выделяет пул номеров формата EAN-13 под конкретную организацию, то эти номера можно обнаружить простым перебором (брутфорсом). А это означает, что данные о времени, месте и сумме покупки превращаются в готовые поведенческие паттерны.

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

Я это другое дело!

Признаюсь, я оценил всю глубину проблемы не сразу. Единственная мысль, которая пришла мне в голову в момент открытия: «Публичный API? Здорово! Ведь я могу навайбкодить Android-приложение для себя и коллег, ведь проверять баланс через сайт так неудобно!». Чем я и занимался с энтузиазмом на протяжении нескольких недель, пока не потерял к нему интерес.

Эпилог

Нам часто кажется, что в эпоху тотальной прозрачности данных мы настолько незначительны, что напоминаем «неуловимого Джо». Однако главная опасность кроется в социальной инженерии. Имея на руках время, место и сумму свежих транзакций, злоумышленник получает идеальный плацдарм для сталкинга.. или фишинга. Звонок якобы из «службы безопасности» с упоминанием вчерашней покупки в конкретном магазине звучит уже не как догадка, а как неоспоримый факт. Эта пугающая осведомленность мгновенно ломает психологическую защиту, заставляя испуганную жертву поверить звонящему и добровольно слить доступ к своим финансам или корпоративным системам.