proxying pro full debugger web-services debugging ssl https sniffing

web-services - full - http debugger pro



cómo depurar una conexión SSL? (4)

Vea esto: Depuración de las comunicaciones SSL .

Sé que teóricamente se puede hacer: puedes configurar un proxy que se comunique con el servicio web objetivo, apuntar a tu aplicación para que se conecte a través de este proxy. Es una limitación conocida: Https supone que confías en todos los proxy y certificados instalados en tu máquina. Es una forma de ataque Man-in-the-middle .

Ve si Fiddler sería de alguna utilidad.

Ataques de hombre en el medio

En un ataque man-in-the-middle, el atacante intercepta el tráfico del usuario para capturar credenciales y otra información relevante. El atacante luego usa esta información para acceder a la red de destino real. Durante el proceso, el atacante normalmente sirve como un proxy / puerta de enlace que presenta un sitio SSL VPN falso para el usuario; este proxy / puerta de enlace pasa la autenticación que el usuario ingrese al sitio de destino real.

Tengo una aplicación cliente que se conecta a un servicio web en https. Necesito "olfatear" todo el tráfico de red entre el servicio web y mi cliente para verificar si todo está bien, es decir, tengo que depurar la conexión.

He probado Wireshark, pero como no tengo la clave privada del servidor, los datos que se muestran en la pantalla wireshark están, por supuesto, encriptados.

¿Hay alguna forma de observar el tráfico de red ssl entre mi cliente y el servicio web cuando no tengo acceso al servidor y, por lo tanto, a las claves privadas y otras cosas relacionadas?

Gracias por adelantado.


Si no tiene acceso a la clave privada del servidor, no hay mucho que pueda hacer para ver qué está protegido por SSL / TLS. (Al menos podrás ver el saludo inicial).

Si tiene control total sobre el cliente, podría escribir un servidor falso que tendría una clave privada y un certificado que usted controla, y que retransmitiría todo lo enviado por el cliente al servidor real. Para esto, necesitarás hacer que el cliente confíe en tu propio certificado, por lo tanto, necesitas el control del cliente. Puede ser más fácil ajustar el archivo de hosts correspondiente en el cliente para realizar la suplantación de DNS también, para hacer que las conexiones al nombre de host correcto vayan a su servidor falso.


¿tienes Python instalado?

pip instalar mitmproxy

mitmproxy -p 1234

incluso un video para ti

(por cierto, tuve que apt-get install python-lxml en debian squeeze después de una actualización de apt-get)


Burp Suite (incluso la edición gratuita) le permite configurar un "proxy" SSL, presentará un certificado diferente a su aplicación y descifrará (y mostrará) el tráfico por usted. Y si quiere probar con el servidor en localhost también, también le permite configurar el proxy (algo que no he podido hacer con Wireshark en Windows y Fiddler).