Checksum

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 do-it-yourself (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>';
      }
    }
  }
}

Deja un comentario