Захват HTTPS-трафика приложения

341
Charles Lakovski

Я хочу использовать Charles / Fiddler для захвата HTTPS-трафика из приложения.

После установки доверенного корневого сертификата я заметил, что не все приложения его примут. Например, я могу перехватить все запросы, сделанные Chrome, но в Firefox мне нужно добавить доверенный сертификат.

При захвате трафика для Java-приложения необходимо добавить сертификат в JVM TrustStore, а в случае использования скрипта Python нам нужно добавить строку кода, которая использует экспортированный сертификат.

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

0
Там нет общего механизма. Каждое приложение может осуществлять проверку сертификата по своему усмотрению; некоторые будут специально использовать * закрепленный * сертификат, так что они даже не заботятся о вашей цепочке доверия, а только о конкретном сертификате, который они принимают. Хранилище сертификатов ОС применимо только к тем программам, которые действительно его используют. Bob 6 лет назад 2
Большое спасибо за ответ! Это многое проясняет для меня. Можно ли перехватывать запросы от приложений, которые не принимают сгенерированный сертификат? Charles Lakovski 6 лет назад 0
Не с прокси, нет. Если нет абсолютно никакого способа сказать ему, что он принимает ваш сертификат, все, что вы можете сделать, это подключить отладчик непосредственно к процессу и прочитать память приложения. Это значительно сложнее, конечно. (Другая возможность, если приложение или сервер использует слабую реализацию, это напрямую атаковать шифрование или протокол. YMMV.) Bob 6 лет назад 0

0 ответов на вопрос