Hola a todos,
la verdad es que este post no debería estar aquí, yo estaba preparando algo sobre instalar WSS 3.0 en windows 7, o sobre como encriptar secciones del fichero web.config, y frikadas generales :), pero me acaba de pasar algo «curioso» que me ha dejado «frío» y quiero compartirlo con vosotros.
Se trata de los sistemas de alta de usuario de algunas compañías, en concreto tengo 2 experiencias similares, y cuando digo similares, quiero decir igual de malas :). Se trata del alta de usuario en Iberdrola y en Gas natural (que no son precisamente 2 PYMES…).
Comenzaremos con el caso de Iberdrola. Si intentamos darnos de alta como usuarios, llegamos a una pantalla (no tengo pantallazos, puesto que para sacarlos necesitaría otro contrato/usuario) donde te piden tus datos de cliente (nif, nombre, contrato..), si todo va bien, llegamos a otra pantalla, donde te piden tu contraseña y por supuesto, la validación de la contraseña (bien hecho!). Pongo una contraseña lo más seguro posible: números, letras, algún signo de puntuación, más de 8 caracteres… infranqueable!! jeje, acepto, y ya está, me envía un correo electrónico de confirmación con la URL para validar el alta, pincho sobre ella, y voilá, me asigna un login y me informa de que he sido dado de alta en el sistema.
OK, ya estoy en el sistema!!, como primera pega, se podría decir que, estaría mejor si el login, lo hubiera elegido yo, o utilizase mi email, y no un login que me ha generado el sistema, usando una combinación de mi nombre y apellido, y un número. Dicho login no se puede modificar. Pero bueno, esto no es muy grave, supongo que lo han hecho para evitar comprobar si el login elegido por el usuario ya existe, o para permitir que varios usaurios tengan el mismo email.
Lo curioso, llega cuando intento entrar en el portal…
usuario: luisito
contraseña: :)NoMireis.esto.123
«Aceptar»… y el sistema me dice: «usuario/pwd incorrecto»… claro!!, pienso yo, he puesto una contraseña tan complicada, que con estos dedos tan torpes, la he escrito mal… repetimos proceso… cáspitas!! otra vez lo mismo… pues nada, usaremos la opción de «recordar contraseña». El sistema me envía un mail con otra URL, accedo a ella, inserto mi NIF, y el sistema, él solito, me pone en el formulario de login, mi usario y contraseña, pulso aceptar y entro sin problemas. Me pregunto que habré hecho mal… como soy un tipo curioso, decido intentarlo de nuevo… nada! datos incorrectos, vuelvo a utilizar el comodín de «recordar contraseña» y de nuevo accedo. Entonces se me ocurre ver el código fuente que ha generado el sistema cuando él solito me rellena mi usuario y contraseña… cáspitas!! en el input de type=password, se lee en claro mi contraseña y cuál es mi sorpresa (bueno, mi segunda sorpresa, la primera ha sido ver mi password en claro), cuando me veo que mi contraseña había sido recortada a los primeros 10 caracteres… oleeeeeeeeee!!!!!!, analicemos por partes:
- Se guardan mi contraseña sin «hasearla» y me atrevería a decir que sin encriptarla tb. Bueno, no es mortal, pero para un site de esta magnitud, creo que deberían guardar un Hash y no la contraseña en claro.
- Lla envían a un campo password sin encriptarla, por lo que el riesgo de que alguien la cace es importante. Bueno, vale, la comunicación era segura, https, pero no sé…
- Y lo peor!!, sin ningún tipo de aviso previo en el alta, la contraseña que se habían guardado en su BD, estaba recortada al número máximo de caracteres que les daba la gana!!. Y sin embargo, en el form de login, puedo poner todos los caracteres que quiera, tanto para el usuario, como para la contraseña. Es decir, que recorta en el alta sin previo aviso, pero cuando te la pide, te deja poner la longuitud que quieras…
La verdad, me queda la duda de que en algún sitio haya hecho algo mal, pero da igual! un sistema como este debería haberme avisado si la contraseña que yo había introducido, no cumplía su política de seguridad. Y debería tener las mismas reglas para el alta del usuario/pwd, como para el form de login.
En fin, ya que me había dado de alta en Iberdrola, decidí hacer lo mismo en gasnatural. En este caso, introduzco el login y password que deseo, me fijo bien por si hay algún aviso de cómo debe ser la contraseña, y lo único que encuentro es que debe tener un mínimo de 8 caracteres. OK, pongo una password similar a la anterior, y.. ta chan!!, el sistema me dice que la contraseña debe tener un mínimo de 8 caracteres ¿? y empiezo a contar, 1,2,3…8,9,10,11… umm, yo diría que cumple… repetimos, ahora pongo otra contraseña, de tb más de 8 caracteres y,… nada, mismo error… menudo día con el alta de usuario!!!!
En fin, imaginándome al programador que lo hizo, con los ojos vidriosos de no dormir, con el jefe presionándolo para que termine en 1h lo que él estimo en 1 día, con el libro de Programación Orientada a objetos abierto por la página 15 (muy lejos del capítulo «manejando excepciones»), me digo: «Luis, no le compliques la vida al sistema, mete una contraseña de 8 caracteres, sin signos de puntuación ni letras que no existen en Albacete, y date de alta de un pu… vez, que tú solo quieres cambiar tu apellido que lo han escrito sin acento!!!!!!» y oye, todo como la seda, usuario creado OK
En fin, que la moraleja de todo esto supongo que la habéis pillado entre lineas, así que la comentamos con detalle en otro post, que tengo que darme de alta en un par de sistemas más… lo mío es vicio!!
Saludos!!!