Обнаружение HTTPS-трафика из клиентской программы - PullRequest
2 голосов
/ 06 декабря 2011

это может быть глупый вопрос ...

Я написал клиентскую программу на C ++, которая взаимодействует с веб-службой через HTTPS с помощью библиотеки cURL.

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

Или он увидит зашифрованные данные?

Спасибо!

Ответы [ 6 ]

4 голосов
/ 06 декабря 2011

Используя такую ​​утилиту, как netcat, чтобы прослушивать данные по проводам, пользователь будет видеть только зашифрованные данные. Единственный способ увидеть необработанные данные - зарегистрировать их внутри приложения, прежде чем они будут переданы в cURL, ИЛИ найти их в активной ОЗУ машины (гораздо сложнее, поскольку они могут быть фрагментированы).

2 голосов
/ 06 декабря 2011

Нет, если ваше приложение проверяет действительные сертификаты.

Если ваши пользователи имеют возможность использовать прокси-сервер с вашим приложением, они могут использовать для этого функцию расшифровки сеансов https с помощью fiddler, но это приведет кневерный сертификат, который может быть сделан, чтобы остановить его при обнаружении.

1 голос
/ 06 декабря 2011

Я сомневаюсь, что обычный пользователь сможет это сделать ...

НО есть способы сделать это, например:

  • замена библиотеки cURL на прокси (если вы подключаетесь динамически)
  • запуск вашей программы под отладчиком и установка точек останова на функции cURL
  • замена программы cURL на прокси (если вы используете ее в качестве утилиты командной строки)
  • копание глубоко и расслоение памяти во время выполнения

Из моего POV это маловероятно (так как вам нужны некоторые навыки + знания + некоторый контроль над клиентской средой, чтобы осуществить это), но возможно ...

1 голос
/ 06 декабря 2011

Он увидит зашифрованные данные. Снифферы видят только пакеты, поэтому, если HTTPS работает должным образом, пакеты должны быть зашифрованы, и это все, что могла видеть программа.

Если вы хотите попробовать это сами, узнайте об ettercap-ng.

0 голосов
/ 06 декабря 2011

Если пользователь имеет доступ к ключу (ключам) сертификата, используемому для шифрования / дешифрования данных, то он / она может подключить их к WireShark, а затем он может декодировать прослушанные HTTPS-пакеты с провода.

0 голосов
/ 06 декабря 2011

Протокол SSL / TLS обычно реализуется на прикладном уровне, поэтому данные перед отправкой шифруются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...