алгоритм шифрования http запросов

Отменен
Заказ
848
Категория
Разработка и IT
Специализация
Прикладное программирование
Размещен
13 Фев в 19:45
Срок сдачи
29 Фев в 23:55
Цена
Договорная
Блокировка
10 дней
Просмотров
189
Описание работы

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

Необходимо выяснить при каких условиях запросы на

1) Поиск

2) Получение конкретного товара

3) Получение товаров в категориях

4) Получение параметров необходимых для выполнения запросов

Выполняются корректно и возвращают читаемые данные. А именно:

HTTP заголовки: Cookie, ltk, SK, sks, sessionid, shumeiId, traceparent.

Необходимо выяснить как они генерируются, влияние на запросы, и как часто их необходимо обновлять

Тело запроса или параметры: необходимо подготовить скрипт (любой язык, в идеале Java) который будет переводить из строки в зашифрованные данные, и обратно.

Также необходимо предоставить список параметров для каждого запроса из списка выше и их значение.

Поиск без номера: необходимо выяснить при каких условиях запрос отправляется корректно, не запрашивая аутентификацию по номеру телефона. Т.е при запросе на https://app.dewu.com/api/v1/h5/search/fire/search/list?data=... должен выводится результат поиска со списком товаров, а не код ошибки. Если окажется что влияет отпечаток бразуера надо выяснить как генерировать отпечатки браузера, с которыми запросы будут проходить корректно. Метод обхода должен работать стабильно.

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


Что уже известно:

Эндпоинт поиска: https://app.dewu.com/api/v1/h5/search/fire/search/list

Главная страница: https://m.dewu.com/router/pages/index/index

Шифрование происходит в скрипте https://davstatic.dewu.com/pstone.js?t=wukong_version_536

Деобфусцированную версию этого скрипта прикреплю к сообщению.

Само зашифрованное сообщение состоит из 2 частей: ключи для дешифровки (в RSA?) и зашифрованные данные в AES. Библиотека шифрования CryptoJs

Примерный алгоритм шифрования на примере эндпоинта https://dav.dewu.com/webSk:

1) C помощью функции _0x23ad34 генерирутся общий ключ длинной 48 символов из символов 0123456789ABCDEF

2) Данные переводятся в Json

3) Парсятся из UTF-8 (строка 2672)

4) Шифруются с помощью AES.

Ключ шифрования: подстрока из ранее сгенерированного общего ключа c 10 до 26 символа

initialization vector (IV): подстрока из ранее сгенерированного общего ключа c 20 до 36 символа

Режим: CBC

Padding: Pkcs7

5) Далее берется ciphertext и переводится в uppercase. ciphertext.toString().toUpperCase(). Данные зашифрованы.

Шифрование общего ключа для расшифровки данных:

1) Общий ключ шифруется публичным ключем на строке 2654

2) Затем выполняются некоторые преобразования на строках с 2655 до 2699. Ключ зашифрован

Затем выполняется связывание данных.

ЗАШИФРОВАННЫЙ_КЛЮЧ ЗАШИФРОВАННЫЕ_ДАННЫЕ (без пробела, баг телеги, не могу убрать)

Далее добавляется параметр sign который представляет из себя md5 строки которая была получена на строках 2691-2715 + соль 048a9c4943398714b356a696503d2d36


Дешифрока происходит теми же ключами что и шифрование. Ответ приходит в HEX формате

https://cloud.mail.ru/public/k4aH/UsunpUWxQ

Если у вас есть еще вопросы, пожалуйста, задавайте

Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантии Бесплатные доработки
Комиссия 0%
Стоимость Назначаете сами
Эксперт Выбираете сами
Система оплаты Безопасная сделка
Предыдущий заказ
Следующий заказ
Нужен аналогичный заказ?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки
Быстрое выполнение от 1 дня
Безопасная сделка
Темы журнала
Показать ещё
Прямой эфир