¿Cómo identificar remotamente la versión de una instalación de WordPress?

27 feb 2011, 23:12:52
Vistas: 17.3K
Votos: 4

¿Cómo la herramienta de DD32 determina la versión de WordPress de una instalación? No funciona correctamente para WP 3.1 pero no utiliza la etiqueta meta generator ni el readme.txt de WP. Entonces, ¿qué más podría ser?

1
Comentarios

Podrías intentar aplicar ingeniería inversa, simplemente haz que revise tu propio sitio y observa las solicitudes HTTP que genera.

mtekk mtekk
27 feb 2011 23:39:56
Todas las respuestas a la pregunta 3
0
12

Este es un fragmento de código que escribí hace un tiempo para detectar la versión de WordPress de las formas más obvias: http://ottodestruct.com/class-wp-detection.phps

Existen otros métodos, más sutiles y menos evidentes. Su método es la identificación de huellas digitales de archivos. Básicamente, comprobar si existen ciertos archivos o no.

28 feb 2011 02:52:26
3

Solo estoy asumiendo aquí, pero esto generalmente se hace mediante la detección de huellas digitales (fingerprinting) de archivos/directorios/códigos específicos de versiones y a veces incluso el tamaño.

Por ejemplo, puedes eliminar todas las etiquetas meta de versiones (¿no hay como 12 lugares?) y el archivo .txt para la versión 3.1, pero dado que la 3.1 es la única versión que incluye el siguiente archivo nuevo por defecto, es bastante fácil de detectar.

wp-includes/js/l10n.js

Dado que cada lanzamiento tiene muchas adiciones nuevas, si dedicas suficiente tiempo a escribir un bot inteligente, no es muy difícil encontrar datos específicos de cada versión. Ocultar toda esta información sería mucho trabajo para cada lanzamiento.

28 feb 2011 00:31:37
Comentarios

¿Qué quieres decir con 12 etiquetas meta de versión?

Simon Blackbourn Simon Blackbourn
28 feb 2011 00:36:23

Entiendo tu punto pero +1 por la pregunta de Simon

Ashfame Ashfame
28 feb 2011 01:26:31

Lo siento, debería haber sido más claro. La etiqueta meta de versión se inserta en varios lugares, por ejemplo, puedes eliminarla del encabezado predeterminado de tu blog, pero aparece en otros lugares. Por eso usas un filtro global para "eliminarla" en lugar de simplemente comentar la salida del encabezado html. Sin embargo, ese número probablemente está exagerado. Por ejemplo, mira el script de Otto a continuación.

Wyck Wyck
28 feb 2011 05:17:49
2

Sé que ya hay una respuesta aceptada, pero solo lo menciono. La forma en que lo hago es analizar la variable $wp_version del archivo 'wp-includes/version.php' en el directorio de tu blog:

function get_wp_version() {
 $versionFile = ABS_PATH.'/wp-includes/version.php';
 // ARCHIVO DE VERSIÓN NO ENCONTRADO //
 if (($versionStr = @file_get_contents($versionFile))=='') return ''; 

 $regex = "wp_version.*'(?<wpVersion>.*)'";
 if (preg_match('/'.$regex.'/', $versionStr, $matches)) {
  return $matches['wpVersion'];
 }
 return '';
}
28 feb 2011 03:16:14
Comentarios

Bueno, pero puedo aumentarlo y si ejecuto la última versión, no debería tener ningún problema.

Ashfame Ashfame
28 feb 2011 07:31:35

Además, deberías estar ejecutando en el mismo servidor para que esto funcione. No me había dado cuenta antes. lol

Ashfame Ashfame
22 nov 2011 16:42:58