it-swarm.com.de

Identifizieren Sie die Version einer WordPress-Installation aus der Ferne?

Wie ermittelt DD32s Tool die WordPress-Version einer Installation. Es funktioniert nicht gut für WP 3.1, aber es verwendet kein Meta-Generator-Tag oder die readme.txt von WP. Was kann es sonst noch sein?

4
Ashfame

Ich gehe nur davon aus, dass dies in der Regel durch Fingerabdrücke für bestimmte Versionsdateien/Verzeichnisse/Code und manchmal sogar Größe erfolgt.

Zum Beispiel können Sie alle Metaversionen-Tags (es gibt keine 12 Stellen) und die TXT-Datei für 3.1 entfernen, aber da 3.1 die einzige Version ist, die standardmäßig die folgende neue Datei enthält, ist es ziemlich einfach, Fingerabdrücke zu erstellen.

wp-includes/js/l10n.js

Da es in jeder Version viele neue Erweiterungen gibt, ist es nicht sehr schwer, release-spezifische Daten zu finden, wenn Sie genügend Zeit damit verbringen, einen Smart Bot zu schreiben. All diese Informationen zu verbergen wäre für jede Veröffentlichung eine Menge Arbeit.

4
Wyck

Dies ist ein bisschen Code, den ich vor einiger Zeit geschrieben habe, um die WP -Versionserkennung auf die offensichtlichste Weise durchzuführen: http://ottodestruct.com/class-wp-detection.phps

Es gibt andere Methoden, subtiler und weniger offensichtlich. Seine Methode ist das Filefingerprinting. Grundsätzlich wird geprüft, ob bestimmte Dateien vorhanden sind oder nicht.

11
Otto

Ich weiß, dass es bereits eine akzeptierte Antwort gibt, aber wirf das einfach raus. So wie ich das mache, analysiere ich die Variable $ wp_version aus der Datei 'wp-includes/version.php' in deinem Blog-Verzeichnis:

function get_wp_version() {
 $versionFile = ABS_PATH.'/wp-includes/version.php'
 // NO VERSION FILE //
 if (($versionStr = @file_get_contents($versionFile))=='') return ''; 

 $regex = "wp_version.*'(?<wpVersion>.*)'";
 if (preg_match('/'.$regex.'/', $versionStr, $matches)) {
  return $matches['wpVersion'];
 }
 return '';
}
0
DTest