Доброго времени суток дорогие пользователи форума. Сегодня у нас анализ сервиса BovaPay и его множество недоработок и интересных моментов. Один из забавных моментов, сайт разработан с использованием шаблона Mantis MUI V 2.1.0 и судя по всему даже без приобретенной подписки. Интересным моментом является оставленные для пользователей components-overview, с помощью которого можно смотреть компоненты доступные для создания шаблонного дизайна. Ссылка - https://dashboard.bovapay.io/components-overview Раздел доступен после входа в аккаунт (С ПК версии, с мобильной без), но все же оставлять это для доступа рядовым пользователям странное решение для серьезного проекта. Скриншот Проект разработан с использованием React JS, на сайте дает активно использовать React Dev Tools что упрощает анализ сайта. Сразу же вылезает интересный факт, что на главной странице проекта нам дает возможность поглядеть на исходные файлы для React (На dashboard это уже продумано и скрыто, но собрать основную структуру сайта не составит труда) Собрав эти самый исходные файлы проекта с модулями nodejs и компонентами мы на выходе получаем уже вполне рабочую страницу Скриншот localhost Интересный момент, на форме "Контактная информация" на сервисе используется ReCaptcha, чего не скажешь про авторизаци/регистрацию что уже дает возможность ****форса аккаунтов сервиса. При регистрации отстутствует фильтрация поля "Имя" в него дает возможность вписывать любой текст в том числе HTML Также с помощью API запросов на - https://bovatech.cc/v1/project Можно изменить параметры - name,description,contact,field,url,region Без их валидации, пример: Так же имеется возможность замены уже созданых кошльков для выплаты (Функционально можно только удалить) https://bovatech.cc/v1/wallets/45 - Где 45 это ID кошелька для редактирования PUT Запрос:{ "id": 45, "name": "Testing", "address": "TESTING", "type_of": "usdt_trc20" } В общем большая часть данных которая возможна передаваться в API, не фильтруется на стороне сервера, что крайне не хорошо как для визуала так и для технической части проекта. На некоторых запросах можно словить ошибку по типу: { "error": "Couldn't find Wallet with 'id'=457 [WHERE \"wallets\".\"deleted_at\" IS NULL AND \"wallets\".\"user_id\" = $1]" } Что в принципе уже не стоит показывать пентестерам, так как долгими манипуляциями можно найти SQL либо какой либо запрос меняющий данные в бд. На этом думаю хватит перечеслений, осталось большое количество багов/недоработок по веб интерфейсу и запросов/ответов API Что уже будет просто нудно читать, самые интересные моменты с анализа я пересказал. Анализ и статья были произведены - MAGIC DEVELOPMENT Статья написана при поддержке:MagicProxy | Лучшие public ****** с автообновлением по низкой цене