¿Cómo saber si una aplicación web transmite mi contraseña en texto sin cifrar?

20

Estoy tratando de ver si una aplicación web transmite la contraseña en algún tipo de texto simple. ¡El problema es que la aplicación web NO está utilizando https! Por eso me pregunto si mis contraseñas se enviarán en texto sin cifrar.

He encontrado una cookie en mi navegador que contiene lo siguiente:

usr=waytodoor&mdp=3C5115ECB18725EBFFF4BB11F9D17798358477D6E11E0188D54BAB80C86D38D41A16F76D8D0B253445774484FB1AE22E9FC13E257CFB9E7B7466F1BA5417EA004FCBB4E7965CA571819146A148EED15A2AEA6E47D9DF338B534264FBC99A57952212629BA79BB34BE9C8C60B73F1F681EE872C64

Por lo que puedo decir, usr es mi nombre de usuario, y mdp ("mot de passe" en francés significa contraseña).

Entonces, ¿es el campo mdp de la cookie mi contraseña (y, si es así, ¿cómo podría "descifrarla"?), o simplemente algún tipo de token? La contraseña es de 7 caracteres de largo.

Intenté convertirlo de hexadecimal o de base 64, pero no tuve suerte.

EDIT: Declaración incluida de que no se está utilizando HTTPS.

EDIT2: El sitio web es un sitio web para estudiantes. Las contraseñas son dadas por la escuela a principios de año. No podemos cambiarlos.

Sospecho que algunos estudiantes están ARPando la red escolar. Intento desconectarme lo más rápido posible del sitio web para invalidar las cookies, pero quería saber si pueden encontrar la contraseña de la cookie.

    
pregunta WayToDoor 12.05.2016 - 13:28
fuente

5 respuestas

35

Hay dos razones para preguntar si su contraseña está encriptada:

  1. Está preocupado por la seguridad del sitio.
  2. Le preocupa la seguridad de su contraseña.

En cuanto a la seguridad del sitio, sin HTTPS, efectivamente no hay ninguno. Debe considerar todas las comunicaciones con el sitio como públicas y suponer que un atacante puede pretender ser usted. Solo usa el sitio con cuidado.

Con respecto a la seguridad de su contraseña, sin SSL, realmente no importa. Alguien puede robar su cookie de sesión y pretender ser usted sin saber su contraseña. Por lo tanto, asegúrese de no reutilizar la contraseña en otros sitios (o reutilizar cualquier contraseña) para evitar que la exposición de la contraseña en este sitio ponga en peligro sus cuentas en otros sitios.

Editar En respuesta a su inquietud sobre falsificación de ARP , sin SSL, puede ser Es posible que establezcan un MiTM . Una vez que hacen eso, pueden ver la cookie. Sin una inspección más profunda del sitio web, no puedo decirle si la cookie pierde su contraseña. Tal vez esté encriptado de forma segura, tal vez no. Dicho esto, una vez que tienen un MiTM, pueden alterar el JavaScript que se envía a su navegador. Esto les permitiría modificar lo que se envía en el cable, obteniendo así su contraseña. Y, aunque no puedo estar seguro sin un examen más detenido, esa cookie me parece un pasar la vulnerabilidad de hash . Si ese es el caso, entonces no hay necesidad de que roben su contraseña ya que el valor de la cookie es tan bueno como una contraseña. Todo esto se reduce a, sin SSL, no hay seguridad.

    
respondido por el Neil Smithline 12.05.2016 - 16:55
fuente
20

Lo que tienes allí es 232 dígitos hexadecimales, o 116 bytes de datos. No es una cadena de texto plano en ninguna codificación normal. Podría ser un hash de su contraseña, podría ser su contraseña encriptada, podría ser simplemente una especie de ofuscación fácilmente reversible. O podría ser algo completamente diferente de su contraseña, como un identificador de sesión. Podría ser cualquier cosa. Sin saber su contraseña o el código que usa la aplicación web, es difícil decirlo.

Pero si está preocupado por la seguridad de su contraseña cuando está en el cable , realmente no importa. Lo que importa es que use HTTPS. * Si usa HTTPS, todo lo que se envíe entre usted y el servidor se cifrará de todos modos. Si no lo hace, no hay manera de garantizar que un hombre en el medio no pueda robar su contraseña, independientemente del tipo de cifrado que intente hacer en el cliente.

Por lo general, el único cifrado utilizado al enviar una contraseña al servidor es el que proporciona HTTPS.

Dicho esto, mantener la contraseña en una cookie (más o menos en texto simple, encriptada, con hash o simplemente ofuscada) es una mala idea. Cualquier persona con acceso a su computadora podría robar la cookie, y si la cookie no es HTTP, solo se podría usar una vulnerabilidad XSS para robarla.

* Dado que es bueno HTTPS: que el certificado es válido, usa una versión moderna de TLS, etc., etc. Las mismas advertencias que siempre se aplican.

    
respondido por el Anders 12.05.2016 - 13:55
fuente
7

Cuando quiera escuchar la comunicación entre su navegador web y un servidor, a menudo puede hacerlo con las herramientas de desarrollo de su navegador web (tecla de acceso rápido habitual: F12). La mayoría de los navegadores tendrán algún tipo de pestaña de Red donde todas las comunicaciones de red entre el sitio web actual e Internet se registran en texto sin cifrar.

Cuando encuentre su contraseña de texto simple en cualquier lugar y no sea una conexión https, eso es una mala señal (cuando es https, el navegador le mostrará los datos sin cifrar, incluso aunque esté cifrado cuando se envía en el cable).

Pero incluso cuando encuentre una contraseña cifrada / cifrada allí, no sabrá si es una criptografía buena . Por lo general, solo puede saber mediante el uso de técnicas criptoanalíticas hasta que descubra cómo funciona el cifrado o si realiza una ingeniería inversa del código javascript en el sitio web para averiguar cómo funciona.

    
respondido por el Philipp 12.05.2016 - 13:51
fuente
1

Así es como lo investigas normalmente. Si se trata de un hash de su contraseña, entonces puede probar su contraseña con la función de hash y comparar la salida. Esta cadena de hash particular (supuesta) tiene 232 dígitos hexadecimales, lo que equivale a 928 bits. Este es el tamaño exacto del número RSA-280, que se utiliza en el cifrado SHA-1 (junto con muchos otros números RSA, por lo que no puede estar seguro sin probar la función).

enlace

  

RSA-280 tiene 280 dígitos decimales (928 bits) y no se ha factorizado   hasta ahora.

Puede abrir el código fuente de la página web, tratar de encontrar el módulo que tiene algo que ver con SHA-1 (en este caso), luego encontrar la función de hashing dentro de él y luego ejecutarlo usando las herramientas de desarrollo del navegador o el nodo .js como esto:

console.log(hashingFunction('yourpass'))

Luego, solo vea si la salida tiene los mismos 232 caracteres. Tenga en cuenta que encontrar la función hash puede ser complicado, puede ser confuso, descargado mucho después de que se cargue la página, etc., y obviamente necesitará algo de conocimiento de JavaScript.

    
respondido por el exebook 13.05.2016 - 01:33
fuente
0

Hay dos posibilidades, tu contraseña está codificada o encriptada en esa cadena. Si se cifró, solo se puede descifrar con la clave definida en la aplicación web, que es bastante segura y requiere mucho tiempo para intentar romperla.

    
respondido por el Arief Karfianto 12.05.2016 - 13:36
fuente

Lea otras preguntas en las etiquetas