Определение сертификата закрепление — это «клиентское приложение или устройство имеет предварительно настроенный список открытых ключей или сертификатов, которым оно явно доверяет». Насколько я понимаю, это можно еще сформулировать как внесение сертификатов в белый список.
Вот что я сделал на данный момент:
< ol>
[*]Я настроил Charles Proxy для перехвата и проверки сетевого трафика приложений. Я установил на свое устройство сертификат Charles Proxy для просмотра расшифрованного SSL-трафика.
⇨ Для некоторых приложений эта настройка работает, и я вижу незашифрованный трафик. Для других приложение обнаруживает попытку проксирования и блокирует ее. Насколько мне известно, это не обязательно подтверждает закрепление сертификата — это может просто означать, что приложение отклоняет установленные пользователем сертификаты.
- Для дальнейшего изучения Я использовал набор инструментов Frida со сценарием обхода закрепления SSL. Насколько я понимаю, этот сценарий должен обходить механизмы закрепления сертификатов, заменяя закрепленный сертификат сертификатом Charles Proxy.
- Могу ли я с уверенностью заключить, что для приложений, которые по-прежнему блокируют перехват трафика после внедрения скрипта Frida, они реализуют закрепление сертификата? Или есть другие возможные объяснения?
- Есть ли более надежный (но не требующий слишком много времени) способ окончательно определить, реализует ли приложение закрепление сертификата? Например, потребуется ли реверс-инжиниринг приложения или существуют более простые методы?
Подробнее здесь: https://stackoverflow.com/questions/792 ... te-pinning