9

Firefox no recuerda la contraseña en Zimbra

14Nov
en Firefox, Javascript, Tutoriales

zimbra

Esto es una colaboración del estudiante William A. Tamayo Guevara.

Con la actualización del cliente web de correo Zimbra, me encontré con el problema de que Firefox no pedía recordar la contraseña, ¿qué podía estar pasando?, ya que la configuración de seguridad del navegador permitía recordar contraseñas y no había ninguna excepción registrada a la dirección del cliente web.
Hice algunas verificaciones siguiendo la guía que ofrece Firefox para este tipo de problemas. Luego de haber hecho cada una de estas, descubrí que el problema no era del navegador, sino del cliente de correo. Esta nueva actualización de Zimbra, trae por defecto en el formulario de logueo, la propiedad autocomplete en off, la cual es utilizada por Firefox para disparar el clásico mensaje de recordar contraseña.
Esto nos lleva a que: mientras esta propiedad se mantenga en off, es imposible que Firefox nos pida recordar la contraseña.
Muchas aplicaciones web utilizan este mecanismo para prevenir que el navegador pueda recordar las contraseñas, aunque ya esto es una estrategia de seguridad muy particular del fabricante de la aplicación.

Solución
Luego de una búsqueda encontré que es posible cambiar esta propiedad antes de que Firefox la chequee para el lanzamiento del mensaje de recordar contraseña, y precisamente el navegador hace este chequeo en el momento que los datos del formulario son enviados al servidor, o sea, cuando se presiona Iniciar sesión en el correo.

Paso 1:
Cree un nuevo marcador en el navegador y póngale el nombre que desee. Luego pegue el código que se encuentra abajo, en el campo dirección que es donde generalmente usted coloca la dirección del marcador creado, después de esto presione aceptar y ya tendrá el marcador que necesitamos.

javascript:(function(){var%20ca,cea,cs,df,dfe,i,j,x,y;function%20n(i,what){return%20i+"%20"+what+((i==1)?"":"s")}ca=cea=cs=0;df=document.forms;for(i=0;i<df.length;++i){x=df[i];dfe=x.elements;if(x.onsubmit){x.onsubmit="";++cs;}if(x.attributes["autocomplete"]){x.attributes["autocomplete"].value="on";++ca;}for(j=0;j<dfe.length;++j){y=dfe[j];if(y.attributes["autocomplete"]){y.attributes["autocomplete"].value="on";++cea;}}}alert("Removed%20autocomplete=off%20from%20"+n(ca,"form")+"%20and%20from%20"+n(cea,"form%20element")+",%20and%20removed%20onsubmit%20from%20"+n(cs,"form")+".%20After%20you%20type%20your%20password%20and%20submit%20the%20form,%20the%20browser%20will%20offer%20to%20remember%20your%20password.")})();

Paso 2:
Entre a la página del correo y llene los campos de usuario y contraseña, OJO no presione todavía el botón iniciar sesión. Luego presione el marcador creado anteriormente y le saldrá una mensaje, típico alert de javascript que le notificará que ha cambiado la propiedad autocomplete=off, después de esto ya puede iniciar sesión y Firefox le pedirá recordar la contraseña.

Vale decir que a pesar de que esta vía de ejecutar scripts en un marcador resolvió el problema, es un bug de seguridad grave de nuestro querido Firefox. El hecho de poder ejecutar código sobre una página cualquiera, pudiese ser utilizado por personas mal intencionado para hacer cosas indebidas.

Espero les sea de utilidad.

9 Comentarios

  1. Nilmar dice:

    Ummm mas que interesante, esta ejcucion de codigo albitrario

    • Yosbel Marin dice:

      OFF-TOPIC
      Se los hago llegar por este medio, una propuesta a la clase «criax.mobile.form.Button»
      Este comentario no es para publicar, es una contribucion, esta sin testear

      /**
      * Componente Botón.
      *
      *
      * *Forma de Usarlo*
      *
      *
      * var Button = criax.mobile.form.Button, b;
      *
      * b = new Button(‘Foo’, ‘success’);
      * b = new Button(‘Foo’, ‘warning’);
      * b = new Button(‘Foo’, ‘info’);
      * b = new Button(‘Foo’, ‘danger’);
      * b = new Button(‘Foo’, ‘black’);
      *
      *
      * *Ejemplo*
      *
      * Un pequeño ejemplo de como usar este componente.
      *
      *
      * var button = new criax.mobile.form.Button(«Hola Mundo»);
      *
      * button.addListener(«tap», function(e) {
      * alert(«Haz hecho click en un boton!!»);
      * }, this);
      *
      * this.getRoot.add(button);
      *
      *
      * Este ejemplo crea un boton con el texto «Hola Mundo» y adiciona
      * un event listener al evento {@link qx.ui.mobile.core.Widget#tap} del mismo.
      *
      */

      qx.Class.define(«criax.mobile.form.Button»,
      {
      extend : qx.ui.mobile.form.Button,

      construct : function(label, kind, icon)
      {
      this.setDefaultCssClass(‘button-‘ + kind);
      this.base([label, icon]);
      }
      });

    • raidel dice:

      Tengo una duda xque en mozilla thunderbird no me deja crear canales RSS para recibir noticias de paginas por ejemplo cubadebate juventudrebelde ??? solo deja crear canales de noticias desde paginas de la uci nada mas …alguien sabe como solucionar el probema les agradeceria mucho que me respondieran

  2. zico dice:

    Está bueno esa solución. TREMENDO PROBLEMA se puede formar con este bug.

  3. abs dice:

    Bueno, ese bug ya esta reportado en bugzilla desde el 2005, pero al paracer no lo ven como un bug, y no se ha hecho nada al respecto.
    https://bugzilla.mozilla.org/show_bug.cgi?id=938275

  4. Yosbel Marin dice:

    No es un bug, es flexibilidad.

  5. Sold_K dice:

    Ese bug no lo reconoce nadie… es una excelente solución la que le han dado cabeza…bien por ti…

  6. Ok dice:

    Eso no es un bug!!
    Es como abrir un Firebug y empesar a tirar codigo.

  7. Neek dice:

    Hola, aquí tengo una variante más corta:

    javascript:alert(document.getElementsByTagName(‘input’)[2].autocomplete=’on’);

    Saludos.

Dejar un comentario

¿Eres humano? Entonces resuelve esta operación: * Límite de tiempo se agote. Por favor, recargar el CAPTCHA por favor.