Maison Problème commun principe de capture de paquets https

principe de capture de paquets https

Aug 21, 2019 am 10:33 AM
https

Dans une section, nous avons analysé le processus de communication sécurisé du HTTPS et appris que HTTPS peut empêcher efficacement les attaques de l'homme du milieu. Mais quiconque a utilisé des outils de capture de paquets sait que Charles et Fiddler, par exemple, peuvent capturer les requêtes HTTPS et les déchiffrer. Comment font-ils ?

principe de capture de paquets https

Tout d'abord, regardons la description du proxy HTTPS sur le site officiel de Charles : (apprentissage recommandé : web front- fin du tutoriel vidéo)

Charles agit comme un agent intermédiaire Lorsque le navigateur communique avec le serveur, Charles reçoit le certificat du serveur, mais génère dynamiquement un certificat et l'envoie au navigateur. c'est-à-dire que Charles agit comme un agent intermédiaire dans le navigateur et communique avec le serveur, afin que les données de communication puissent être interceptées et décryptées par Charles. Depuis que Charles a modifié le certificat, le navigateur émettra un avertissement de sécurité si la vérification échoue, et le certificat de Charles doit être installé avant que l'accès normal puisse être effectué.

Ce que Charles doit faire, c'est déguiser le serveur en client et le client en serveur :

Intercepter la requête HTTPS du vrai client et déguiser le client Le client envoie une requête HTTPS au vrai serveur

Accepte la réponse du vrai serveur, utilise le propre certificat de Charles pour déguiser le serveur et envoie le contenu des données au vrai client

Regardons le processus spécifique :

Le client initie une requête HTTPS au serveur

Charles intercepte la requête du client et se fait passer pour un client pour faire une requête au serveur

Le serveur envoie une requête au "client" (au-dessus se trouve Charles) Renvoi du certificat CA du serveur

Charles intercepte la réponse du serveur, obtient la clé publique du certificat du serveur, puis effectue une certificat lui-même, remplace le certificat du serveur et l'envoie au client. (Dans cette étape, Charles récupère la clé publique du certificat du serveur)

Après que le client ait reçu le certificat du "serveur" (en fait Charles), il génère une clé symétrique, la crypte avec la clé publique de Charles , et l'envoie Au "serveur" (Charles)

Charles intercepte la réponse du client, déchiffre la clé symétrique avec sa propre clé privée, puis la crypte avec la clé publique du certificat du serveur et l'envoie au serveur. (Dans cette étape, Charles obtient la clé symétrique)

Le serveur déchiffre la clé symétrique avec sa propre clé privée et envoie une réponse au "client" (Charles)

Charles intercepte le serveur réponse, Remplacez-le par votre propre certificat et envoyez-le au client

À ce stade, la connexion est établie. Charles a obtenu la clé publique du certificat du serveur et la clé symétrique négociée entre le client et le serveur. Ensuite, il peut décrypter ou modifier le message crypté.

Le principe de la capture de paquets HTTPS est assez simple. Pour faire simple, Charles, en tant qu'"agent intermédiaire", récupère la clé publique du certificat du serveur et la clé symétrique de la connexion HTTPS. Le principe est que le client choisit Trust et installe le certificat CA de Charles, sinon le client « alarmera » et mettra fin à la connexion. De ce point de vue, le HTTPS reste très sécurisé

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser Nginx Proxy Manager pour implémenter un proxy inverse sous le protocole HTTPS Comment utiliser Nginx Proxy Manager pour implémenter un proxy inverse sous le protocole HTTPS Sep 26, 2023 am 08:40 AM

Comment utiliser NginxProxyManager pour implémenter un proxy inverse sous protocole HTTPS Ces dernières années, avec la popularité d'Internet et la diversification des scénarios d'application, les méthodes d'accès aux sites Web et aux applications sont devenues de plus en plus complexes. Afin d'améliorer l'efficacité et la sécurité de l'accès aux sites Web, de nombreux sites Web ont commencé à utiliser des proxys inverses pour traiter les demandes des utilisateurs. Le proxy inverse du protocole HTTPS joue un rôle important dans la protection de la confidentialité des utilisateurs et dans la sécurité des communications. Cet article expliquera comment utiliser NginxProxy

Comment utiliser Nginx Proxy Manager pour implémenter le saut automatique de HTTP à HTTPS Comment utiliser Nginx Proxy Manager pour implémenter le saut automatique de HTTP à HTTPS Sep 26, 2023 am 11:19 AM

Comment utiliser NginxProxyManager pour implémenter le saut automatique de HTTP à HTTPS Avec le développement d'Internet, de plus en plus de sites Web commencent à utiliser le protocole HTTPS pour crypter la transmission des données afin d'améliorer la sécurité des données et la protection de la vie privée des utilisateurs. Le protocole HTTPS nécessitant la prise en charge d'un certificat SSL, un certain support technique est requis lors du déploiement du protocole HTTPS. Nginx est un serveur HTTP et un serveur proxy inverse puissants et couramment utilisés, et NginxProxy

Nginx avec SSL : configurez HTTPS pour protéger votre serveur Web Nginx avec SSL : configurez HTTPS pour protéger votre serveur Web Jun 09, 2023 pm 09:24 PM

Nginx est un logiciel de serveur Web hautes performances et un puissant serveur proxy inverse et équilibreur de charge. Avec le développement rapide d'Internet, de plus en plus de sites Web commencent à utiliser le protocole SSL pour protéger les données sensibles des utilisateurs, et Nginx fournit également un puissant support SSL, améliorant encore les performances de sécurité du serveur Web. Cet article explique comment configurer Nginx pour prendre en charge le protocole SSL et protéger les performances de sécurité du serveur Web. Qu'est-ce que le protocole SSL ? SSL (SecureSocket

À quoi ressemble le flux de travail https ? À quoi ressemble le flux de travail https ? Apr 07, 2024 am 09:27 AM

Le flux de travail https comprend des étapes telles que la demande initiée par le client, la réponse du serveur, la prise de contact SSL/TLS, la transmission de données et le rendu côté client. Grâce à ces étapes, la sécurité et l'intégrité des données pendant la transmission peuvent être garanties.

Comment configurer https dans Tomcat Comment configurer https dans Tomcat Jan 05, 2024 pm 05:15 PM

Étapes de configuration : 1. Obtenez le certificat SSL ; 2. Configurez le certificat SSL ; 3. Modifiez le fichier de configuration Tomcat ; Introduction détaillée : 1. Vous devez obtenir un certificat SSL, soit un certificat auto-signé, soit un certificat SSL valide auprès d'une agence de certification (telle que Let's Encrypt) 2. Placez le certificat SSL obtenu et les fichiers de clé privée sur le serveur et assurez-vous que ces fichiers sont situés dans un emplacement sûr, seuls les utilisateurs disposant d'autorisations suffisantes peuvent y accéder ; 3. Modifier les fichiers de configuration Tomcat, etc.

Solution : urllib3 ProxySchemeUnknown (proxy.scheme) Solution : urllib3 ProxySchemeUnknown (proxy.scheme) Feb 29, 2024 pm 07:01 PM

La raison de l'erreur est que l'erreur ProxySchemeUnknown(proxy.scheme) de urllib3 est généralement provoquée par l'utilisation d'un protocole proxy non pris en charge. Dans ce cas, urllib3 ne reconnaît pas le type de protocole du serveur proxy et ne peut donc pas utiliser le proxy pour les connexions réseau. Pour résoudre ce problème, vous devez vous assurer que vous utilisez un protocole proxy pris en charge, tel que HTTP ou https. Comment résoudre Pour résoudre ce problème, vous devez vous assurer que vous utilisez un protocole proxy pris en charge, tel que HTTP ou HTTPS. . Vous pouvez résoudre ce problème en définissant les paramètres proxy de urllib3. Si vous utilisez un proxy http, l'exemple de code est le suivant : importurllib3http

Comment le pare-feu Nginx garantit une communication sécurisée HTTPS Comment le pare-feu Nginx garantit une communication sécurisée HTTPS Jun 10, 2023 am 10:16 AM

À l’ère d’Internet d’aujourd’hui, la communication sécurisée est devenue un élément indispensable. En particulier dans la communication HTTPS, la manière d'assurer sa sécurité est particulièrement importante. En tant que serveur Web et serveur proxy inverse populaire, le pare-feu de Nginx peut également jouer un rôle important en garantissant une communication sécurisée HTTPS. Cet article abordera le pare-feu Nginx sous les aspects suivants. Cryptage TLS/SSL La garantie de sécurité de la communication HTTPS repose principalement sur la technologie de cryptage TLS/SSL, qui peut empêcher la transmission des données pendant la transmission.

Comment utiliser Nginx pour implémenter l'authentification bidirectionnelle HTTPS Comment utiliser Nginx pour implémenter l'authentification bidirectionnelle HTTPS Jun 03, 2023 pm 08:38 PM

La différence entre la vérification unidirectionnelle et la vérification bidirectionnelle : Vérification unidirectionnelle : fait référence au client qui vérifie le certificat côté serveur, et le serveur n'a pas besoin de vérifier le certificat client. Vérification bidirectionnelle : fait référence au client qui vérifie le certificat côté serveur, et le serveur doit également vérifier le certificat client via le certificat de clé publique de l'autorité de certification. Processus détaillé de prise de contact : authentification unidirectionnelle Le navigateur envoie une demande de connexion au serveur de sécurité. 1. Le serveur envoie son propre certificat et les informations relatives au certificat au navigateur client. 2. Le navigateur client vérifie si le certificat envoyé par le serveur est émis par le centre d'autorité de certification auquel il fait confiance. Si c'est le cas, continuez à exécuter l'accord ; sinon, le navigateur du client donnera au client un message d'avertissement : avertissant le client que ce certificat n'est pas digne de confiance et lui demandant s'il doit continuer. 3. Récupérez les clients