Tutoriales de la serie Nanny "Blast Liver Tidying" - Cómo jugar con Charles Tutorial de artefactos de captura de paquetes (5) - Cómo configurar Charles para capturar sesiones Https

1. Introducción

 En la era de los grandes datos e Internet, la seguridad de la información personal es particularmente importante. La seguridad de la red se ha visto fermentada recientemente por muchos incidentes de fraude de telecomunicaciones, lo que ha provocado que países, empresas e individuos presten más atención a la seguridad de Internet. En el pasado, muchos sitios web transmitidos a través del protocolo http filtraron información del sitio web y la información personal quedó expuesta en el grupo de grandes datos. Cuando nos encontramos con un sitio web desconocido, prestaremos especial atención a su seguridad. Es mucho más seguro visitar el sitio web con el protocolo de cifrado HTTPS a través del certificado SSL certificado que el protocolo HTTP sin cifrado. En los últimos años, los principales sitios web han prestado cada vez más atención a la seguridad y han cambiado al protocolo https, a diferencia del protocolo http que funcionaba al desnudo en Internet hace más de diez años. También hay amigos o zapatos para niños que se han configurado de acuerdo con la configuración del hermano Hong en el artículo anterior. Quieren mostrar sus habilidades y agarrar la bolsa de Baidu, pero se quedaron estupefactos cuando lo intentaron. Ni siquiera lo atraparon. El hermano lo hizo. No, hoy el hermano Hong atacará mientras el hierro está caliente y explicará cómo capturar sesiones de protocolo https. 

2.HTTP

HTTP: es el protocolo de red más utilizado en Internet. Es un estándar de solicitud y respuesta (TCP) del lado del cliente y del lado del servidor. Se utiliza para transmitir hipertexto desde el servidor WWW al navegador local. Permite navegar El servidor es más eficiente y la transmisión de red se reduce.

3.HTTPS

HTTPS: es un canal HTTP con el objetivo de la seguridad. En pocas palabras, es una versión segura de HTTP, es decir, se agrega una capa SSL debajo de HTTP. La base de seguridad de HTTPS es SSL, por lo que el contenido detallado del cifrado requiere SSL.

Las funciones principales del protocolo HTTPS se pueden dividir en dos tipos: una es establecer un canal de seguridad de la información para garantizar la seguridad de la transmisión de datos; la otra es confirmar la autenticidad del sitio web.

4. La diferencia entre HTTP y HTTPS

Http es un protocolo de transferencia de hipertexto, la información se transmite en texto sin formato y https es un protocolo de transferencia cifrado SSL seguro.
http y https usan métodos de conexión completamente diferentes y puertos diferentes, el primero es el 80 y el segundo el 443.
La conexión http es muy simple y sin estado; el protocolo HTTPS es un protocolo de red construido por el protocolo SSL+HTTP que puede realizar transmisiones cifradas y autenticación de identidad, que es más seguro que el protocolo http.
El protocolo https debe ir a CA para solicitar un certificado. Generalmente, hay pocos certificados gratuitos, por lo que se requiere una tarifa determinada.

5.Charles captura paquetes HTTP

Si no se instala ningún certificado en charles, la información del paquete de las URL de tipo http se puede capturar de forma predeterminada. Esta parte del hermano Hong se mencionó en el artículo anterior. Como se muestra abajo:

 Si desea aprender a probar la automatización de la interfaz, aquí le recomiendo una serie de videos. Se puede decir que este video es el tutorial de prueba de automatización de la interfaz número uno en toda la red en la estación B. Al mismo tiempo, el número de en línea usuarios ha llegado a 1.000, y hay notas para coleccionar y usar Intercambios técnicos de varios maestros: 798478386    

[Actualizado] La colección más detallada de tutoriales prácticos para pruebas automatizadas de interfaces de Python impartidas por la estación B (la última versión de combate real)_哔哩哔哩_bilibili [Actualizado] La colección más detallada de tutoriales prácticos para pruebas automatizadas de Python interfaces impartidas por la estación B (combate real) La última versión) tiene un total de 200 videos, que incluyen: 1. [Automatización de interfaz] La situación actual del mercado de pruebas de software y los estándares de capacidad de los probadores. , 2. [Automatización de interfaz] Totalmente capacitado en la biblioteca de solicitudes y la lógica de llamada de método subyacente, 3. [Automatización de interfaz] combate de automatización de interfaz y la aplicación de expresiones regulares y extractores JsonPath, etc. Para videos más emocionantes, preste atención a la cuenta UP. https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337&vd_source=488d25e59e6c5b111f7a1a1a16ecbe9a 

6. El principio de Charles agarrando HTTPS

El principio de funcionamiento principal de Charles es: disfrazarse de servidor para el cliente y disfrazarse de cliente para el servidor.

1. El cliente inicia una solicitud HTTPS al servidor

2. Charles intercepta la solicitud del cliente y se hace pasar por el cliente para realizar una solicitud al servidor

3. El servidor devuelve el certificado CA del servidor al "cliente" (en realidad Charles)

4.Charles intercepta la respuesta del servidor, obtiene la clave pública del certificado del servidor, luego crea un certificado él mismo, reemplaza el certificado del servidor y lo envía al cliente.

5. Después de que el cliente recibe el certificado del "servidor" (en realidad Charles), genera una clave simétrica, la cifra con la clave pública de Charles y la envía al "servidor" (Charles)

6. Charles intercepta la respuesta del cliente, descifra la clave simétrica con su propia clave privada (Charles obtuvo la clave de par), luego la cifra con la clave pública del certificado del servidor y la envía al servidor.

7. El servidor descifra la clave simétrica con su propia clave privada y envía una respuesta al "cliente" (Charles)

8.Charles intercepta la respuesta del servidor, la reemplaza con su propio certificado y la envía al cliente

En este punto, se establece la conexión y Charles ha obtenido la clave pública del certificado del servidor y la clave simétrica negociada entre el cliente y el servidor, y luego puede descifrar o modificar el mensaje cifrado.

7. Charles captura paquetes HTTPS

Después de que Hongge instaló a Charles, no lo configuró. Ahora puede capturar el paquete http, y luego Hongge visitó Baidu e intentó capturar el paquete https de Baidu para ver qué pasaba.

1. Situación del navegador: no puedo acceder a Baidu con normalidad y aparece un mensaje similar a un error de certificado, como se muestra en la siguiente figura:

2. Situación de Charles: el paquete https de Baidu no se puede capturar y se produce un error desconocido, como se muestra en la siguiente figura: 

 

7.1 Instalar certificado

Del error anterior, podemos ver que es un problema de certificado, entonces necesitamos instalar el certificado en la computadora, los pasos de operación específicos son los siguientes:

1. Abra charles, haga clic en ayuda-->Proxy SSL-->Instalar certificado raíz de Charles para instalar el certificado, como se muestra en la siguiente figura:

 

 

2. Después de hacer clic en "Instalar certificado raíz de Charles", luego haga clic en "Instalar certificado", como se muestra en la siguiente figura:

3. Después de hacer clic en "Instalar certificado", seleccione la ubicación de almacenamiento "Computadora local" y haga clic en "Siguiente", como se muestra en la siguiente figura:

4. Para la ubicación de almacenamiento del certificado, seleccione 'Colocar todos los certificados en el siguiente almacenamiento', luego haga clic en "Examinar" después del almacenamiento del certificado, seleccione "Autoridades de certificación raíz de confianza" para el almacenamiento del certificado y haga clic en "Aceptar", como se muestra en la figura de abajo:

5. Haga clic en "Siguiente", como se muestra en la siguiente figura:

6. Haga clic en "Finalizar", lo que indica que la importación se realizó correctamente. Como se muestra abajo:

7.2 Configurar proxy SSL

Después de instalar el certificado, también debemos configurar los ajustes del proxy SSL de Charles. Los pasos específicos de la operación son los siguientes:

1. Abra Charles, haga clic en proxy> Configuración de proxy SSL para abrir el siguiente cuadro emergente, marque el interruptor de proxy ssl, la inclusión izquierda es el proxy que debe capturarse y la derecha es el proxy que debe excluirse, como se muestra en la siguiente figura:

2. Excluido en el lado derecho, haga clic en agregar para agregar, host es el nombre de dominio, puerto es el número de puerto, queremos capturar https, en incluir, haga clic en agregar, complete el host que necesita capturar https, complete 443 en el puerto Sí, también puede usar * en su lugar. Brother Hong, en la pestaña emergente, marque [Habilitar proxy SSL] y haga clic en [agregar], ingrese [*] en Host para indicar la recepción de cualquier host, ingrese [443] en Prot y finalmente haga clic en [ok] para guardar. Como se muestra abajo:

3. Después de completar los pasos anteriores, básicamente ha terminado. En este momento, abrimos el navegador e ingresamos a www.baidu.com para obtenerlo.

(1) Estado del navegador: puede acceder a Baidu normalmente, como se muestra en la siguiente figura:

 

 

(2) Situación de Charles: se puede capturar el paquete https de Baidu, como se muestra en la siguiente figura:

 8. Resumen

De hecho, de principio a fin, se siente similar a los pasos de Fiddler para capturar Https Primero, instale el certificado, luego configure la herramienta de captura de paquetes y, finalmente, puede capturar con éxito el paquete Https.

P: ¿Por qué HTTPS es seguro?

R: Debido a que HTTPS garantiza la seguridad de la transmisión, evita que se controle el proceso de transmisión, evita el robo de datos y puede confirmar la autenticidad del sitio web.

P: ¿Cuál es el proceso de transmisión de HTTPS?

R: El cliente inicia una solicitud HTTPS, el servidor devuelve el certificado y el cliente verifica el certificado. Después de pasar la verificación, se genera localmente un número aleatorio para modificar el algoritmo de cifrado simétrico, y el número aleatorio se cifra y se transmite a el servidor a través de la clave pública en el certificado. , el servidor recibe el número aleatorio descifrándolo con la clave privada, y la interacción de datos posterior se cifra y descifra mediante el algoritmo de cifrado simétrico.

P: ¿Por qué necesita un certificado?

R: Evite los ataques de "intermediario" y, al mismo tiempo, proporcione una prueba de identidad para el sitio web.

P: ¿Seré capturado si uso HTTPS?

R: Los paquetes serán capturados. HTTPS solo evita que los usuarios sean monitoreados sin su conocimiento. Si el usuario otorga crédito activamente, es posible construir una red de "intermediarios" y el software proxy puede descifrar el contenido de la transmisión.

 

Supongo que te gusta

Origin blog.csdn.net/m0_73409141/article/details/131811034
Recomendado
Clasificación