Wordpress muestra diferentes errores en la página de login, dependiendo de si el usuario existe o no. Si el usuario no existe mostrará “ERROR: Invalid username”.

Esto permite a un posible atacante reducir el número de parámetros en un ataque con diccionario. Si el usuario averigua el nombre de usuario, podrá probar contraseñas para ese usuario, pudiendo llegar a dar con ella.
Así que me puse a investigar el código de Wordpress, para algo tenía que servir haber aprendido PHP para un proyecto universitario. Así di con las líneas a editar. El fichero a editar es:
wp-includes/pluggable.php Línea 298
El trozo de código es este.
if (!$login) {
$error = __(‘<strong>ERROR</strong>: Invalid username.’);
return false;
}
Después de comprobar los datos en la BD, si el login es incorrecto mostrará el mensaje que ya he comentado. Si editamos esta línea, podremos hacer que muestre el mismo mensaje que cuando el username es correcto, pero la contraseña no. El código quedará:
if (!$login) {
$error = __(‘<strong>ERROR</strong>: Incorrect password.’);
return false;
}
Esta es una de muchas medidas que podemos disponer, dificultará al hacker medio o script kiddie su trabajo.

Linux-OS » Securizando Wordpress - Tip de seguridad para login de Wordpress Comenta:
June 19th, 2008 a las 3:14 pm
[…] dejo un enlace a un breve pero interesante artículo que explica dificultar el ataque por diccionario a un blog de […]