Este post viene a ser una continuación del “Inseguridad en los correos de PedidosYa” que rápidamente la gente de la empresa pudo resolver.
Los problemas se ven en los correos de “reset de contraseña” y el sitio Web, los grandes puntos son:
- Todo el proceso se realiza bajo HTTP ( puerto 80 TCP sin encriptación ).
- Hash/token no se vence.
Eso paso cuando me olvide la contraseña y quise reiniciar la misma el password para poder hacer una compra:
Como cualquier motal voy al sitio, busco la parte de ¿ Se olvido la contraseña ?, ingreso, me solicita un correo electrónico, completo el formulario, le doy al botón “enviar” y al rato llega un correo electrónico con un link ( 1er tema, link en http ), hago click y noto que todo el proceso era con HTTP, entonces nobleza obliga, abro el Wireshark para sniffear los paquetes y pienso: “seguramente si hago click en el link no va a funcionar ya que seguro es un OTP”. Obviamente me lleve la sorpresa que no era así ( 2do tema, hash no se vence ). Realizo el procedimiento nuevamente, esta vez “oliendo” los paquetes y todo bien, o no….
Agarro la captura de paquetes y lamentablemente me encuentro con lo que me suponía. Hash y nueva contraseña en texto plano.
Les dejo la captura de Wireshark:
Como podría ser un ataque ?
- Obteniendo el hash por medio de un “sniffing”, obteniendo el correo electrónico ( los cuales viajan en texto plano ), realizando un man-in-the-middle, etc.
- Obtener la contraseña con un “sniffing” o un MitM, etc.
- Para ambos casos aplica cualquier técnica de captura de trafico entre cliente y el servidor.
La empresa ya fue avisada del “bug”, espero que lo solucionen pronto como en el caso anterior, las soluciones:
- Implementar HTTPS ( puerto 443 de TCP con SSL, mejor TLS 1.2 ) en todo el sitio.
- Todo hash o token tiene que ser OTP ( one-time password ).
Espero comprar comida tranquilo la próxima oportunidad jeje