Мобильные приложения под CS-Cart и их безопасность

Всем привет,

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

Поскидывайте, плиз, в тред ссылки на мобильные приложения к магазинам на CS-Cart, даже если они не ваши и вам они просто нравятся (но главное чтобы магазин был на CS-Cart), они все равно публичные :slight_smile: И да, неважно – кастомное это какое-то приложение, сделанное “с нуля” под какой-то конкретный магазин, или массовое решение.

P.S. Если в вашем приложении будет найдена уязвимость (и вы подтвердите что приложение действительно ваше) – я вам сообщу об уязвимости и подскажу как исправить.

4 лайка

Ради такой темы даже зарегистрировался, потому что давно этот вопрос назревал! Я вот сделал приложение через лейаут, а потом сделал на основе этого лейаута приложение из сайта, ну и в гуглплей выложил и работает так. Как на такое решение смотрите? Ссылку на приложение отправил вам в “Личные сообщения” на форуме.

1 лайк

Да, не сразу понял что такое “через лейаут” :smile:

Сделать обертку над сайтом с набором блоков прямо норм решение. У вас используется https://REDACTED.com/?platform=android&s_layout=12 (пример чтобы другие поняли про “леаутность”) и тут в целом то ничего не поломать, так как нет API, в котором и бывают проблемы.

Так что тут получится совсем немного из-за “леаутного приложения”

  • SSL используется :+1: Это усложнит Man-in-the-middle атаки, если какой-нибудь школьник захочет WiFi ломать или же провайдер будет пакостить
    • а вот HSTS я бы рекомендовал включить в настройках CS-Cart “Settings > Security settings”, ну или сервером добавьте отдельно [включили с @lojikam652]
  • SSL-pinning не реализован, да, из-за LE у вас скорее не реализовать его таким простым способом как “создание приложения из сайта”. Но и в целом, если кто-то захочет отпиннить сертификат, то, скорее всего, добьется своего и знает зачем отпиннивать сертификат xD
  • Еще файлы всякие “полезные” лежат в корне магазина :-1: [удалили только что с @lojikam652]
  • Желательно обновить CS-Cart (тут прямо надо, да) и версию PHP можно
1 лайк

Даааааааааааааа с dump.sql в корне очень тупо получилось, и ломать не пришлось :rofl: Вот так думаешь про одно, а тут другое!!

А тут типа обновляться до версии старше 4.8.1, но пойду SP1 поставлю. Тут Роман дал ссылку https://simtechdev.com/cloud/wiki/news/4.8.1-service-pack-1/index.html

Есть еще у кого приложения мобильные?))

UPD (28 apr 2022). Реально больше ни у кого нет мобильных приложений?

Неа… хотелось, но нет. А что за вариант приложений на лейаутах? Это как-то несложно можно и самостоятельно реализовать не слишком глубоко углубляясь в мобильную разработку?

2 лайка

Это не приложение, это просто мобильный шаблон получается, потом делается приложение браузер для сайта и все.

2 лайка

Да, алгоритм прост

  1. Через https://docs.cs-cart.com/latest/designer_guide/layout.html делаешь набор блоков как хочешь чтбы было в мобильной версии
  2. Потом делаешь на основе этого шаблона сайт (гугл: сделать приложение из сайта), вставляя ссылку на этот лейаут как ссылку на сайт
  3. Грузишь в аппстор и гуглплей
  4. Профит

Честно – красивое решение, я раньше не сталкивался с таким)))

P.S. Хмммм :thinking:, а что если попробовать прикрутить к такому шаблону поддомен с проксированием и редиректом для мобильных юзерагентов? Наверное, можно попробовать сделать “мобильную версию” сайта. Поэкспериментирую на праздниках :slight_smile:

2 лайка

Да, алгоритм такой, мы делали первую версию через appmaker.xyz. Но смотрите App Store не пропустил такое наше приложение, а в Google Play Store без проблем загрузилось. Потом мой разработчик сделал какое-то “свое решение” по аналогии, но пришлось самим приделывать нотификации, и только потом App Store принял приложение. Почему так было они не сказали, хотя было то же самое, но сказали что приложение не может быть полной копией сайта и это что-то еще нарушает в их правилах. Мы подумали что это из-за конструктора приложений именно был отказ в первый раз.

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

CP лет 5 или даже больше делали модуль который layout подгружает специально для мобильных другой, тогда были еще такие времена блоки не убирались, а АВ еще даже не выпустили Юни.
Как написали ниже, приложение реально поставить человека надо мотивировать, а потом еще мотивировать чтобы он им пользовался, а не сайтом.

Значит проверили все, написали всем вендорам (не все ответили конечно же), улучшили безопасность мобильных приложений в целом, написали статью у себя в блоге, а тут забыли поделиться ей :slight_smile:

Итак, обещанная статья… Not all mobile applications are as good as they might seem:
https://asaplab.io/blog/tpost/0lcji84k11-not-all-mobile-applications-are-as-good
. Да, на английском, но мне кажется это не должно быть проблемой в 2022 году.

Проблем там описано несколько, но в основном, речь идет про использование админского API (и если вы сделали так себе приложение – у меня для вас плохие новости), а не сторефронтовское. Ну и да, через админский API можно как сделать и приложение, так и получить доступ в админку и вообще делать все что угодно с магазином на уровне администратора. Да, про сторефронтское API почти нет информации, но любопытный ум мог найти аддон storefront_rest_api, который имеет хорошо документированный код, на основе которого работают приложения CS-Cart и PWAjet.

Мы делаем исследования информационной безопасности и предлагаем решения в рамках услуги Аудит информационной безопасности (ссылка на маркетплейс CS-Cart). И, например, в рамках исследований по запросам от клиентов и мониторинга безопасности проектов у нас на хостинге мы нашли критические уязвимости и исправили их вместе с командами CS-Commerсе (патч готов и разослан уже) и AlexBranding (переоткрыди две уязвимости, одна уже с патчем была, а ко второй они сделали патч), за что им прямо уважение. А сколько разного и интересного было найдено в кастомных модулях и доработках – вы не представляете :slight_smile:

(для гиков) Вот так это выглядит если вы обладаете знаниями в реверс-инжиниринге и знаете про Smali и Java. Ну и да, так же можно ничего не реверсить, а просто спроксировать трафик через тот же OWASP® Zed Attack Proxy (ZAP) и получить токен авторизации, который передается почти в каждом запросе.

Да, примеры на Android, но я так же сделал это и iOS.


P.S. И даже статью в блог маркетплейса CS-Cart написали для тех, кто думает “У меня небольшой магазин. Кому я нужен”, “Прибыль и узнаваемость важнее. Потрачусь пока на рекламу и SEO”, “Мы работаем уже давно и ни разу не сталкивались с кибератаками”. Поверьте, мы детектим огромное количество атак и попыток “похакать” и отбиваем ежедневно DDoS атаки разного уровня, а сейчас их стало больше еще.

2 лайка