llave wordpress

Si aún te preguntas porque debes actualizar WordPress a la nueva versión, actualmente la 2.8.3, debes saber que las versiones anteriores tienen un fallo de seguridad que puede facilitar que alguien - malintencionadamente - reinicie la contraseña del administrador (sea el nombre de usuario 'admin' u otro) aún sin un email válido autorizado.

Es tan sencillo como hacer lo siguiente:

Se envía un cambio de dirección de email o nombre de usuario a través de este formulario:

/wp-login.php?action=lostpassword ;

Wordpress envía una confirmación para reiniciarlo a través del típico email:

"
Alguien ha solicitado reiniciar la contraseña del siguiente sitio y usuario.

http://DOMAIN_NAME.TLD/wordpress

Username: admin
Para reiniciar tu contraseña visita la siguiente dirección, en caso contrario simplemente ignora este email y no pasará nada

http://DOMAIN_NAME.TLD/wordpress/wp-login.php?action=rp&key=o7naCKN3OoeU2KJMMsag

"

Si se hace clic en el enlace WordPress reinicia la contraseña de administrador y envía otro email con los nuevos datos de acceso.

Así es como funciona:

PHP:
  1. wp-login.php:
  2. ...[snip]....
  3. line 186:
  4. function reset_password($key) {
  5.     global $wpdb;
  6.     $key = preg_replace('/[^a-z0-9]/i', '', $key);
  7.     if ( empty( $key ) )
  8.         return new WP_Error('invalid_key', __('Invalid key'));
  9.     $user = $wpdb->get_row($wpdb->prepare("SELECT * FROM $wpdb->users WHERE user_activation_key = %s", $key));
  10.     if ( empty( $user ) )
  11.         return new WP_Error('invalid_key', __('Invalid key'));
  12. ...[snip]....
  13. line 276:
  14. $action = isset($_REQUEST['action']) ? $_REQUEST['action'] : 'login';
  15. $errors = new WP_Error();
  16. if ( isset($_GET['key']) )
  17.     $action = 'resetpass';
  18. // validate action so as to default to the login screen
  19. if ( !in_array($action, array('logout', 'lostpassword', 'retrievepassword', 'resetpass', 'rp', 'register', 'login')) && false === has_filter('login_form_' . $action) )
  20.     $action = 'login';
  21. ...[snip]....
  22. line 370:
  23. break;
  24. case 'resetpass' :
  25. case 'rp' :
  26.     $errors = reset_password($_GET['key']);
  27.     if ( ! is_wp_error($errors) ) {
  28.         wp_redirect('wp-login.php?checkemail=newpass');
  29.         exit();
  30.     }
  31.     wp_redirect('wp-login.php?action=lostpassword&error=invalidkey');
  32.     exit();
  33. break;
  34. ...[snip ]...

Puedes incluso reiniciar la clave de admin enviando un array a la variable $key.

Puedes incluso hacer una prueba de concepto. Solo necesitas el navegador web para reproducirlo:

http://DOMAIN_NAME.TLD/wp-login.php?action=rp&key[]=

La contraseña se reiniciará sin confirmación alguna.

Da miedo ¿verdad?, pues actualiza coño., pues revisa lo que viene a continuación … 

Actualización: esta vulnerabilidad también afecta a la versión 2.8.3 y se puede solucionar como indica Martín:

Abre el fichero wp-login.php y su sustituye esta línea …

PHP:
  1. if ( empty( $key )  )

por esta otra …

PHP:
  1. if ( empty( $key ) || is_array( $key ) )

Si por cualquier motivo no te funciona este "hack" prueba a bajar la versión modificada del archivo wp-login.php del trac, con el problema solucionado, como ha hecho Ferticidio.

Esta vulnerabilidad ya la están aprovechando varios indeseables que no tienen nada mejor que hacer así que no te lo tomes a la ligera.

¿Te gustó este post? ¡Compártelo!
  • Bitacoras.com
  • TwitThis
  • Facebook
  • Meneame
  • Google Bookmarks
  • del.icio.us
  • Live
  • Technorati
  • Ping.fm
  • Wikio
  • Turn this article into a PDF!
  • E-mail this story to a friend!
  • Print this article!

También te puede interesar:

cursos formación continua

    48 comentarios en “Reinicio de contraseña de admin en WP 2.8.3 y previas (actualizado)”

  1. Información Bitacoras.com...

    Valora en Bitacoras.com: No hay resumen disponible para esta anotación...

  2. g30rg3_x (17 comentarios) dijo:

    El problema incluye a la version 2.8.3...
    Actualmente no hay revision oficial que tenga resuelto el problema solo parches:
    http://core.trac.wordpress.org/changeset?old_path=%2Ftags%2F2.8.3&old=11804&new_path=%2Fbranches%2F2.8&new=11804

    Saludos

  3. [...] This post was Twitted by PlanetaWP [...]

  4. Sabogal (31 comentarios) dijo:

    ¿Para actualizar de 2.8.2 a 2.8.3 es necesario subir todos los archivos o sólo algunos?

  5. The Ghost (3 comentarios) dijo:

    Es raro porque me acaba de suceder, pero en un blog actualizado a la versión 2.8.3 :S

  6. The Ghost (3 comentarios) dijo:

    Acabo de probarlo con un blog que tengo, el Dashboard dice You are using WordPress 2.8.3. y aún asi pude reinciarle la contraseña sin necesidad del email de validación.
    Será que el wordpress 2.8.3 también es vulnerable??

  7. da miedo de verdad

  8. Dondado (91 comentarios) dijo:

    Parece que están afectadas todas las versiones, incluida la 2.8.3 http://www.martinaberastegue.com/seguridad/nueva-vulnerabilidad-wordpress-2-8-3.html

  9. [...] post: Reinicio de contraseña de admin en WordPress < 2.8.3 Comments0 Leave a Reply Click here to cancel [...]

  10. virtualizado (7 comentarios) dijo:

    Esto afecta tambien a la rama 2.7.x?

  11. emip3 (32 comentarios) dijo:

    Fer, sos un groso... GRACIAS!

  12. jordi (9 comentarios) dijo:

    y si no existe el usuario admin? también es vulnerable?

  13. piernodoyuna (4 comentarios) dijo:

    Perdonad por mi ignorancia, se supone que el problema es solo si el administrador tiene como nick "admin"? Porque si es por eso, no seria mas facil entrar a traves de phpmyadmin y cambiar el nick del administrador en la tabla users?

  14. [...] Y Fernando Tellado ya publico la solucion al problema. [...]

  15. Ferticidio (53 comentarios) dijo:

    Che a mi no me funciono eso.
    Y tambien me afecta sin tener el usuario "admin"

  16. Pitonizza (74 comentarios) dijo:

    Yo tampoco tengo el user por default "admin", y aún así salí afectada. Por favor, corrijan. Una pregunta para Fernando, esta vulnerabilidad afecta a versiones 2.7.x?

    En serio, gracias por poner tan fácil la explicación, que hasta yo pude solucionarlo. Mil mil mil gracias.

  17. Pitonizza (74 comentarios) dijo:

    Ah, perdón, acabo de leer la respuesta a mi pregunta lineas más arriba, estoy muy alterada y asustada. :S

  18. Ferticidio (53 comentarios) dijo:

    Listo el hack aplicado al archivo no me funciono, nose porque, yo solo copie y pegue.
    Pero bajando el archivo desde http://core.trac.wordpress.org/changeset/11798?format=zip&new=11798 (Paciencia que media blogocosa esta intentando hacerlo) ya no me resetea el password

    • Fernando Tellado (2313 comentarios) dijo:

      A mi me bajó rápido el fichero de sustitución. En un blog he recibido el aviso de cambio de clave pero lo he recibido yo afortunadamente, y ya he aplicado el cambio de fichero.

  19. Nekko (10 comentarios) dijo:

    Muchas gracias! Comprobado que eso arregla el agujero de seguridad. Estoy actualizando mis sitios y a seguir propagando esta info. Grande Martín aportando la solución!

  20. [...] AyudaWordpress lei por la mañana que existe una vulnerabilidad que afecta a las versiones 2.8.0, 2.8.1, 2.8.2 y [...]

  21. g30rg3_x (17 comentarios) dijo:

    @Fernando Tellado...
    No es que la solucion que veo todos estan usando no sea segura, pero se han aumentado los cambios (se ha vuelto mas estricta en esta parte para no solo mitigar el caso de los arreglos cualquier otro), asi que deberian aplicar los cambios 11800 y 11804... ya he dejado en mi comentario anterior como bajar el archivo con los cambios necesarios (asi como ya he posteado informacion al respecto en mi blog) para así solo reemplazar con el actual y parcheado segun el equipo de wordpress (mas bien segun ryan).

    Saludos

  22. [...] a AyudaWordpress y a sus mensajes en Twitter, me entero de esta vulnerabilidad que posee WordPress y que aún no ha [...]

  23. [...] los hechos, tomo el cierre del post en Ayuda WordPress: “Da miedo ¿verdad?, pues actualiza [...]

  24. [...] WordPress para administrar tus blogs, lee esto que seguro te interesa, porque según encuentro en Ayuda WordPress, tal parece que las versiones 2.8.3 hasta la 2.8, sufren una vulnerabilidad que permite que un [...]

  25. [...] Ayer comentaba Fernando de una vulnerabilidad critica en la rama 2.8.x y hace solo minutos se libero la versión 2.8.4 que corrigue este fallo. No es un consejo, te obligamos a actualizar ahora. [...]

  26. Dianasolapas (8 comentarios) dijo:

    Como siempre, gracias, ya actualizé mis blogs al 2.8.4, pero si utilizo /wp-login.php?action=lostpassword ;
    me sigue apareciendo el recuadro para poner mi nombre de usuario y mail.
    ¿hay algun modo de evitarlo?
    Lo que si: http://DOMAIN_NAME.TLD/wp-login.php?action=rp&key= me da una respuesta de "invalid key"

    Bueno esto parece que nos ha puesto a trabajar y actualizarnos bastante más pronto de lo usual.
    Saludos

    Diana

  27. [...] encuentra disponible WordPress 2.8.4, luego de que se descubriera una vulnerabilidad en el sistema de recuperación de contraseña, es muy importante actualizar ahora a esta nueva [...]

  28. [...] Las versiones 2.8.x de Wordpress no dejan de darnos disgustos con la seguridad. Acabo de ver en Mangas Verdes que el último agujero detectado permite que cualquiera cambie la contraseña del administrador incluso sin un e-mail válido autorizado. [...]

  29. [...] Leyendo AyudaWordpress me entero de que este problema de seguridad en las versiones anteriores si existe y puede usarse para tomar tu blog por lo que es mejor actualizar cuanto [...]

  30. Juan (29 comentarios) dijo:

    Hola, muy buena la info.

    Me llamó la atención que usaras el termino "indeseables" que usaba yo hace años en mi sitio Seguridad en Internet 2.0, alguna relación?

    Muy bueno el blog

    Saludos!

  31. [...] las versiones de la rama 2.8, en donde cualquier persona con los conocimientos suficientes, puede reiniciar la contraseña de administrador sin aviso previo. Para evitar ese tipo de incidentes en donde la seguridad del blog se ve [...]

  32. [...] las versiones de la rama 2.8, en donde cualquier persona con los conocimientos suficientes, puede reiniciar la contraseña de administrador sin aviso previo. Para evitar ese tipo de incidentes en donde la seguridad del blog se ve [...]

  33. [...] el reciente sustillo que nos dimos con el reinicio de cuentas de admin no estaría de más tener en cuenta estos 12 consejos para proteger nuestra área de [...]

  34. [...] las versiones de la rama 2.8, en donde cualquier persona con los conocimientos suficientes, puede reiniciar la contraseña de administrador sin aviso previo. Para evitar ese tipo de incidentes en donde la seguridad del blog se ve [...]

Escribe un Comentario

XHTML: Puedes usar estos códigos: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



Comentarios adicionales gracias BackType

Subir

Anúnciese aquí
Expertos en WordPress
Evolución Euribor
Consigue 28 themes premium por menos de 14 euros
Participa en el Debate
  • Macgrafic: @Jose esta aplicación es para el iPhone y Puedes gestionar tu blog de tu dominio o de...
  • fff:
  • Abundancia33: Actualicé en algunos blogs y si hay un problema, con esta versión desaparece el...
  • Hugo Alfaro: Wow!… esta utilidad me ha sido de gran utilidad… ideal para los sitios...
  • Jose: P.D. Enhorabuena por la web! Sois magnificos!
Noticias Breves
  • BuddyPress 1.2 está prácticamente lista para lanzarse salvo que las pruebas de los usuarios digan lo contrario. Ya puedes descargarla y empezar a comprobarla (enlace al svn). En esta nueva versión se han cerrado más de 125 tickets desde la última beta.

    [#3]

  • Ya está disponible WordPress MU 2.9.1 y José Conti me avisa que en unas horas tendrá lista la traducción para poder tener actualizado y listo tu sitio multiusuario.

    [#6]

  • ¿Sabías que Kubrick, el tema que va a ser sustituido en 2010 lo creó un desarrollador danés?. Toda la historia de este tema, ya mítico, la tienes en este artículo (traducido con Google).

    [#26]


  • Ahora mismo en los FOROS ...
    Usuarios Registrados
  • Acceder

  • Translate this Blog
    Spanish flagItalian flagChinese (Simplified) flagPortuguese flagEnglish flagGerman flagFrench flagJapanese flagRussian flagSwedish flagCatalan flagHebrew flag                              
    By N2H