Наблюдение за сетью / закрепление SSL: не удается получить сообщение через страницу входа в мобильном приложении при обнаружении трафика с помощью Fiddler - PullRequest
0 голосов
/ 21 июня 2019

Я отлаживаю сетевые вызовы одного из клиентских приложений, код которых у меня отсутствует.Шаги, которые я прошел, описаны ниже.

1) Установите fiddler в системе Windows.

2) невозможно расшифровать HTTPS.

3) установить системный прокси в соответствии со страной клиента.(США)

4) установить приложение на iOS, в которой находится в той же сети.

5) Установлен сертификат Fiddler в телефоне, добавлен в доверенный сертификат

6)Применен ручной прокси, соответствующий тому же внутреннему IP-адресу системы Windows.(не системный прокси-сервер США)

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

Я не вижу никаких следов IP-адреса моей машины (внутренний IP-адрес) в сетевых вызовахпослан.Я изменил часовой пояс своих телефонов на тот случай, если это станет отправной точкой для прекращения обслуживания.

Также случайно после 2-3 попыток появляется следующее всплывающее окно.Я установил сертификат клиента в соответствии с запросом, который был загружен с http://ipv4.fiddler:8888.

enter image description here

Есть много других приложений, для которых я могу видеть все сетевые вызовы, но не для этого конкретного.

Есть ли какие-либо проблемы в настройках моей системы или у провайдера приложений есть механизм для идентификации человека в средних прокси?Или проблемы с сертификатом?

Обновление 1: я проверил журнал фиддлера и обнаружил приведенную ниже ошибку

HTTPS дрожание руки не удалось TargetURLцепочка сертификатов была выдана органом, который не является доверенным. Является ли это случаем, если закрепление SSL?

1 Ответ

1 голос
/ 24 июня 2019

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

Теперь есть две возможности:

  1. Приложение iOS включает в себя сертификат клиента + закрытый ключ, и разработчики приложения используют его для защиты API взаимодействия (немного похоже наключ API).В этом случае вы должны извлечь сертификат и закрытый ключ и предоставить его Fiddler.Скорее всего, сертификат и закрытый ключ одинаковы для всех устройств по всему миру и могут быть найдены как статический ресурс в приложении для iOS (потенциально запутанный или каким-то образом защищенный).

  2. Сервер запрашиваетсертификат клиента, но предоставление сертификата необязательно.Я не знаю, справится ли Фидлер с этой ситуацией.

...