Verificar el checksum de WordPress

Última revisión: 2 de octubre de 2021

Una de las formas más rápida para verificar si un sitio WordPress ha sido comprometido es el uso de alguna herramienta que valide el código de una forma poco costosa. Para ello habitualmente se utilizan sistemas como checksum que básicamente comparan fichero a fichero mediante un hash (código único) que permite comparar tus ficheros con los que se pueden descargar originalmente.

WP-CLI

Quizá la forma más sencilla de verificar si ha habido alguna modificación en tu instalación de WordPress es la de utilizar WP-CLI. Actualmente se puede verificar el núcleo y los plugins.

wp core verify-checksums --locale=es_ES --version=4.9.1
wp plugin verify-checksums --all

Plugins

Existen varios plugins que realizan la verificación checksum de los contenidos.

DIY (hazlo tú mismo)

Aunque existen sistemas ya preparados, quizá te interese hacerlo tú mismo. Para ello puedes crearte un fichero PHP que ejecute y muestre los análisis. Puedes crear un fichero en la raíz de tu instalación con el siguiente contenido. Necesitarás disponer de al menos PHP 5.6 para poder ejecutar este sistema.

define('ABSPATH', './');
if ( defined( 'ABSPATH' ) ) {
  include( ABSPATH . 'wp-includes/version.php' );

  $wp_locale = isset( $wp_local_package ) ? $wp_local_package : 'en_US';

  $apiurl = 'https://api.wordpress.org/core/checksums/1.0/?version=' . $wp_version . '&locale=' .  $wp_locale;
  $json = json_decode ( file_get_contents ( $apiurl ) );
  $checksums = $json->checksums;

  foreach( $checksums as $file => $checksum ) {
    $file_path = ABSPATH . $file;
    if ( file_exists( $file_path ) ) {
      if ( md5_file ($file_path) !== $checksum ) {
        echo '<p>¡Checksum de " .$file_path ." no es coincidente!</p>';
      }
    }

  }
}

Seguir con Seguridad para WordPress


Sobre este documento

Este documento está regulado por la licencia EUPL v1.2, publicado en WP SysAdmin y creado por Javier Casares. Por favor, si utilizas este contenido en tu sitio web, tu presentación o cualquier material que distribuyas, recuerda hacer una mención a este sitio o a su autor, y teniendo que poner el material que crees bajo licencia EUPL.