principe de capture de paquets 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 ?

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!
Outils d'IA chauds
Undress AI Tool
Images de déshabillage gratuites
Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes
AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.
Clothoff.io
Dissolvant de vêtements AI
Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !
Article chaud
Outils chauds
Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit
SublimeText3 version chinoise
Version chinoise, très simple à utiliser
Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP
Dreamweaver CS6
Outils de développement Web visuel
SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)
Sujets chauds
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
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
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
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)
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 mettre en place une connexion HTTPS sécurisée pour un formulaire PHP ?
Aug 17, 2023 pm 03:25 PM
Comment mettre en place une connexion HTTPS sécurisée pour un formulaire PHP ? À mesure qu’Internet se développe, la sécurité devient de plus en plus importante dans le développement Web. Le protocole de transmission crypté HTTPS joue un rôle clé dans la protection de la transmission des données. Lors de l'utilisation de formulaires PHP pour la transmission de données, nous pouvons prendre certaines mesures pour assurer la sécurité de la connexion. Cet article vous expliquera comment configurer une connexion HTTPS sécurisée pour les formulaires PHP, avec quelques exemples de code. Achetez un certificat SSL Vous devez d'abord acheter un certificat SSL. Le certificat SSL est un site Web garanti
À 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.
Utilisation de HTTPS pour la transmission de données dans le développement d'API Java
Jun 18, 2023 pm 10:43 PM
Avec le développement de la science et de la technologie, la communication en réseau est devenue l’un des outils importants de transmission de l’information dans la société moderne. Mais dans le même temps, la transmission d’informations sur le réseau est confrontée à des risques d’attaques malveillantes et de vol, la sécurité est donc particulièrement importante. C’est sur cette base qu’est né le protocole HTTPS. Il s'agit d'un protocole qui ajoute le cryptage SSL/TLS au protocole HTTP pour assurer la sécurité de la transmission réseau. En tant que langage largement utilisé dans le développement de réseaux, Java fournit naturellement une API riche pour prendre en charge le protocole HTTPS. Cet article sera


