Когда я настраиваю Charles для отладки, я вижу весь трафик, что является хорошей частью. Но Чарльз показывает весь трафик моего выпущенного производственного приложения, что совсем нехорошо.
Могу ли я как-нибудь помешать Чарльзу перехватывать весь трафик для моего рабочего приложения без закрепления SSL?
Пожалуйста, помогите мне.
Заранее спасибо!
@BhaveshLathigara нет. :(
хорошо спасибо. @Судха Тивари





Нет, сделать это невозможно, и на самом деле даже закрепление SSL не может этого гарантировать.
В более общем плане: невозможно сохранить в полной тайне от пользователя детали того, что ваше приложение делает на устройстве пользователя, если он достаточно решителен и осведомлен. Вы можете усложнить задачу, но это игра в кошки-мышки, в которой вам никогда не «выиграть». В конце концов, устройством управляет пользователь, а не вы.
В простом случае они могут просто установить собственный центр сертификации, а затем перехватывать трафик в локальной сети или аналогичной. Вы не сможете победить эту проблему без закрепления сертификата, а закрепление сертификата для блокировки сделает ваше приложение непригодным для использования во многих корпоративных сетях, где требуется такой вид сканирования сети на предмет всего трафика.
В более сложном случае они могут использовать взломанное устройство, а затем напрямую изменить ваше приложение (либо с помощью Frida, либо извлечь встроенное приложение и изменить его самостоятельно), чтобы они могли просто отключить любую добавленную вами защиту.
Приложение, пытающееся победить пользователя, который полностью контролирует устройство, невозможно и это не очень хорошая идея. Вместо этого вам следует убедиться, что у вас нет каких-либо важных секретов, хранящихся в исходном коде вашего приложения или видимых в трафике. Вы должны предполагать, что весь отправляемый вами трафик виден вашим пользователям, и вам следует настроить свой сервер так, чтобы он не доверял входящему трафику приложения. по умолчанию.
Если вы используете на сервере надлежащие механизмы безопасности, не должно возникнуть проблем, если пользователи смогут видеть трафик со своих собственных устройств. Это та же модель, с которой всегда работали веб-страницы: они запускаются в браузере (ненадежная среда, где пользователь может видеть все), но отправляют трафик на сервер, который аутентифицирует запросы.
но «закрепление SSL» действительно усложняет захват трафика с помощью Charles
Я имею в виду, что это может немного усложнить задачу, но, возможно, на 10 минут усилий (если вы не знаете, что делаете) или на 10 секунд (если вы знаете, и у вас уже есть готовая установка). Кроме того, ваши пользователи должны иметь возможность видеть свой собственный трафик! Это трафик, происходящий на устройствах, которыми они владеют и которые контролируют! Они отвечают за свои телефоны, а не вы. В любом случае, определенно не существует мира, в котором вы действительно могли бы предположить, что они не могут этого сделать, и поскольку вам в любом случае придется защищать свою систему от этого, вы можете также пропустить добавление бессмысленных средств защиты от закрепления сертификатов, которые не будут работать.
Я не думаю, что только 10 метров смогут пересечь «закрепление SSL». Честно говоря, я даже не нашел способа получить доступ к трафику, если приложение включило «закрепление SSL» и разрешает только подпись своего собственного сертификата. Я действительно добился некоторого эффекта, но не смог.
@WayneMao Доступно множество руководств с готовыми сценариями, я написал одно здесь: httptoolkit.com/blog/frida-certificate-pinning
Привет @Судха Тивари, ты нашел что-нибудь подобное?