WordPress-Seite erkennen: fünf Merkmale im Quelltext
Ob eine Website mit WordPress gebaut ist, verrät sie in aller Regel selbst. Fünf Merkmale genügen, und das erste findet man mit einer Suche im Quelltext.
Wozu die Frage taugt: Wer eine Seite übernehmen soll, will wissen, worauf er sich einlässt. Wer ein Angebot einholt, will prüfen, ob „individuell entwickelt" stimmt. Und wer für Sicherheit zuständig ist, will wissen, welche Angriffsfläche vor ihm liegt.
Merkmal 1: Die Pfade#
Strg+U für den Quelltext, dann Strg+F nach wp-content. Ein Treffer genügt — Bilder, Stylesheets und Skripte liegen bei WordPress unter /wp-content/uploads/, /wp-content/themes/ und /wp-content/plugins/.
Ebenso eindeutig: /wp-includes/ und /wp-json/.
Wie man den Quelltext liest und was sonst noch drinsteht, steht unter Website-Quellcode anzeigen.
Merkmal 2: Der Generator-Eintrag#
Im <head> steht bei vielen Installationen:
<meta name="generator" content="WordPress 6.x" />
Das ist der einzige Ort, an dem die Version offen dasteht — und der Grund, warum viele ihn entfernen. Fehlt er, heißt das nicht, dass es kein WordPress ist.
Merkmal 3: Die Schnittstelle#
Ein Aufruf von /wp-json/ liefert bei einer Standardinstallation eine JSON-Antwort mit Name und Beschreibung der Seite. /wp-json/wp/v2/users listet in ungehärteten Installationen die Autorennamen — was zugleich das erste ist, was man abstellen sollte.
Merkmal 4: Theme und Erweiterungen#
Im Quelltext nach /themes/ suchen: Der Ordnername danach ist das Theme. Dasselbe mit /plugins/ — jede Erweiterung, die eigenes CSS oder JavaScript einbindet, steht dort namentlich.
Häufig steht sogar die Version dahinter, angehängt als ?ver=. Das ist die für Angreifer nützlichste Angabe der ganzen Seite: Erweiterung plus Version lässt sich direkt gegen Schwachstellenlisten halten.
Merkmal 5: Die Anmeldeseite#
/wp-admin/ oder /wp-login.php — kommt dort das bekannte Anmeldeformular, ist die Sache klar.
Dass es erreichbar ist, ist der Normalzustand und für sich kein Fehler. Interessant wird es in Kombination: erreichbare Anmeldung, sichtbare Autorennamen, veraltete Erweiterungen.
Automatisiert liest der Tech-Stack-Checker CMS, Erweiterungen und Server in einem Durchgang aus.
Wenn es kein WordPress ist#
Andere Systeme hinterlassen ähnlich klare Spuren: _next/ für Next.js, cdn.shopify.com für Shopify, /typo3/ für TYPO3, wix.com im Quelltext für Wix, /media/jui/ für Joomla, /sites/default/files/ für Drupal.
Für Betreiber: was man davon abstellen sollte#
Verstecken lässt sich WordPress nicht — die Pfade bleiben. Was sich abstellen lässt, sind die Angaben, die den Angriff vorbereiten:
- Versionsnummern. Den Generator-Eintrag entfernen und die
?ver=-Anhänge an Skripten und Stylesheets. - Die Autorenliste über die Schnittstelle, wenn sie nicht gebraucht wird.
- Die Verzeichnisauflistung, falls der Server Ordnerinhalte anzeigt.
Und der Punkt, auf den es wirklich ankommt: aktuelle Erweiterungen. Eine veraltete Erweiterung mit bekannter Lücke ist der häufigste Weg hinein, und keine Verschleierung hilft dagegen. Was zu tun ist, wenn es schon passiert ist, steht unter Gehackte Website erkennen und Seite auf Viren prüfen.