LW IT Solutions logo LW IT Solutions logo LW IT Solutions
« Blog-Übersicht /Web Entwicklung/Tutorials / Was die öffentliche WordPress-Schnittstelle verrät: REST-Routen und...
Diesen Artikel in anderen Sprachen lesen:

Was die öffentliche WordPress-Schnittstelle verrät: REST-Routen und Datenzugriff prüfen

Was die öffentliche WordPress-Schnittstelle verrät: REST-Routen und Datenzugriff prüfenWas die öffentliche WordPress-Schnittstelle verrät: REST-Routen und Datenzugriff prüfen

Management Summary

WordPress veröffentlicht ein Verzeichnis von Zugängen, über die Programme Daten mit einer Website austauschen können. Das hilft Redaktionswerkzeugen, Erweiterungen und anderen Anwendungen, verfügbare Funktionen zu finden. Ein aufgeführter Zugang ist jedoch keine Erlaubnis, private Informationen zu lesen oder die Website zu verändern. Der Beitrag erklärt die Aussagekraft dieses Verzeichnisses. Namen, Anzahlen und erfolgreiche Antworten beweisen allein kein Sicherheitsproblem; entscheidend sind die tatsächlich zugänglichen Daten und Aktionen.

Inhalt
  1. Das Verzeichnis finden
  2. Routen zählen ist kein Plugininventar
  3. Status und Inhalt gemeinsam lesen
  4. Öffentliche Autoren sind nicht sämtliche Benutzerkonten
  5. Berechtigungen präzise benennen
  6. Grenzen des Routeninventars
  7. Fragen und Antworten
  8. Quellen

Das REST-Verzeichnis einer WordPress-Seite beschreibt öffentlich sichtbare API-Routen. Eine Route ist ein adressierbarer Pfad, ein Endpunkt verbindet diesen Pfad mit einer HTTP-Methode und einer Verarbeitung. Ein Eintrag im Verzeichnis bedeutet deshalb noch keinen anonymen Zugriff auf sämtliche Daten oder Schreibfunktionen.

Öffentliches Routenverzeichnis, Antwortinhalt und Berechtigung getrennt prüfen
Öffentliches Routenverzeichnis, Antwortinhalt und Berechtigung getrennt prüfen.

Das Verzeichnis finden

Häufig liegt der Einstieg unter /wp-json/. Die zuverlässigere Ausgangsinformation ist der von WordPress veröffentlichte Link mit der Relation https://api.w.org/, beispielsweise im HTTP-Header oder im HTML. Unterverzeichnisse, geänderte Präfixe und vorgeschaltete Systeme können den tatsächlichen API-Pfad beeinflussen.

WordPress unterstützt außerdem ?rest_route=/. Diese Form ist nicht ausschließlich auf Installationen ohne sprechende Permalinks beschränkt. Eine Sperre eines einzelnen URL-Pfads beweist deshalb keine vollständige Zugriffsbeschränkung. Umgekehrt beweist eine Antwort mit Status 404 am geratenen Pfad weder eine abgeschaltete API noch überhaupt eine WordPress-Installation.

Routen zählen ist kein Plugininventar

Ein Namensraum wie vendor/v1 gruppiert Routen. Die Versionsziffer bezeichnet üblicherweise eine API-Version, nicht die installierte Pluginversion. Erweiterungen können mehrere Namensräume registrieren, vorhandene Namensräume ergänzen oder ganz ohne REST-Routen arbeiten. Auch Themes und individueller Code können Routen hinzufügen. Öffentlich sichtbare Verzeichnisdaten sind zusätzlich filterbar.

Die Routenzahl beschreibt daher die Einträge des konkret gelesenen Verzeichnisses. Die Zahl ist weder eine vollständige Liste installierter Plugins noch ein Maß für Sicherheitslücken. Auch ähnliche Routenzahlen beweisen keine gemeinsame Plattform. Für ein vollständiges Erweiterungsinventar sind administrative Bestandsdaten erforderlich.

Eine deklarierte Methode wie POST oder DELETE dokumentiert eine Schnittstelle. Eine anonyme GET-Stichprobe prüft deren Schreibberechtigungen nicht. Entscheidend sind die konkreten Berechtigungsprüfungen und die Daten, die unter den jeweiligen Anfragebedingungen zurückkommen.

Status und Inhalt gemeinsam lesen

  • 200: Der Abruf war auf HTTP-Ebene erfolgreich. Erst Inhaltstyp, vollständig lesbares JSON und die erwartete Datenstruktur zeigen, ob tatsächlich die angefragte REST-Antwort vorliegt. Eine HTML-Sperrseite mit 200 ist keine Benutzerliste.
  • 401 oder 403: Die konkrete Anfrage wurde abgewiesen. Eine WordPress-Fehlerantwort, eine Firewall und ein vorgeschalteter Dienst sind unterschiedliche Ursachen. Daraus folgt keine allgemeine Abnahme aller Berechtigungen.
  • 404: Unter dieser Adresse wurde keine passende Ressource ausgeliefert. Falscher Pfad, entfernte Route und vorgeschaltete Regeln bleiben mögliche Erklärungen.
  • Abbruch oder abgeschnittenes JSON: Die Zahl ist nicht zuverlässig bestimmt. Ein angezeigter Nullwert darf nicht als Beleg für null vorhandene Routen dienen.

Öffentliche Autoren sind nicht sämtliche Benutzerkonten

Die Standardroute /wp/v2/users kann ohne Anmeldung öffentliche Autorendaten liefern. Ohne die Berechtigung list_users begrenzt der Core die normale Auflistung auf Konten mit veröffentlichten Beiträgen in REST-sichtbaren Inhaltstypen. Filter und Erweiterungen können das Verhalten verändern. Außerdem sind Listen auf mehrere Ergebnisseiten verteilt: Eine Antwort ist nicht automatisch der vollständige Bestand.

Das öffentliche Feld slug entspricht dem URL-tauglichen user_nicename. Dieser Wert kann vom Anmeldenamen abweichen. Das separate Feld username gehört im Standardschema zum geschützten Bearbeitungskontext; Passwörter werden nicht zurückgegeben. Öffentliche Autorennamen sind deshalb keine offengelegte Passwortdatei und beweisen für sich keine Sicherheitslücke.

Öffentliche Kennungen können dennoch für unerwünschte Kontaktaufnahme oder gezielte Anmeldeversuche verwendet werden. Die Bewertung hängt von den tatsächlich ausgegebenen Daten und dem vorgesehenen Öffentlichkeitsgrad ab. Zugriffsschutz benötigt unabhängig davon wirksame Authentifizierung und passende Berechtigungen. Das Verbergen einer einzelnen Auflistung ersetzt diese Schutzmaßnahmen nicht.

Berechtigungen präzise benennen

WordPress prüft Fähigkeiten statt ausschließlich Rollennamen. Die Standardroute für Einstellungen prüft beispielsweise manage_options, die Pluginauflistung activate_plugins. Bei Themes hängen die Anforderungen auch von der Anfrage ab. Eine pauschale Aussage „alle diese Routen verlangen Administratorrechte“ ist deshalb zu ungenau.

Bei der Cookie-Authentifizierung ist die REST-Nonce ein zusätzlicher Prüfwert in der Anfrage. Der Wert schützt vor bestimmten Anfragen, die eine fremde Website über einen bereits angemeldeten Browser auslöst. Die Nonce ersetzt weder Anmeldung noch Berechtigungsprüfung. Andere unterstützte Verfahren, etwa Anwendungspasswörter über HTTPS, verwenden nicht dieselbe Cookie-/Nonce-Kombination. Eine Regel „jede zulässige REST-Anfrage braucht eine Nonce“ wäre falsch.

Grenzen des Routeninventars

Das verlinkte Routeninventar versucht /wp-json/ und unter bestimmten Fehlerbedingungen ?rest_route=/. Danach folgen zehn feste GET-Stichproben. Eine vollständige Suche aller API-Adressen oder ein Test sämtlicher Methoden findet nicht statt.

Die aktuelle Auswertung ordnet Stichproben allein nach dem HTTP-Status ein. Ein lokaler Test mit einer künstlichen HTML-Sperrseite und Status 200 ergibt deshalb die Kennzeichnung „offen“. Eine leere JSON-Liste erhält dieselbe Kennzeichnung. Der Begriff beschreibt hier keine nachgewiesene Offenlegung von Benutzerkonten.

Das Abruflimit beträgt 8 MiB. Bei abgeschnittenem Verzeichnis erscheint ein Hinweis, die numerische Routenzahl bleibt in der aktuellen Ausgabe aber null. Für Stichproben werden nur die ersten 4096 Inhaltsbytes weitergegeben; eine größere gültige JSON-Antwort kann dadurch unlesbar werden. Eine vollständige Benutzerzählung oder Pagination erfolgt nicht. Die Namensraumgruppierung verwendet zudem nur die ersten beiden Pfadsegmente, was längere Namensräume falsch zusammenfassen kann.

Die sechs lokalen Testfälle prüfen diese Auswertungsgrenzen mit künstlichen Antworten. Eine neue Rangliste fremder Installationen oder eine Sicherheitsprüfung der genannten Websites ergibt sich daraus nicht.

Ein ergänzender Artikel behandelt öffentliche Daten in der WordPress-REST-API.

Fragen und Antworten

Genügt das Abschalten der Benutzerroute zum Verbergen öffentlicher Autoren?

Nein. Autorenarchive, Verlinkungen und Sitemaps können weiterhin öffentliche Kennungen enthalten. Eine Einschränkung muss zum gewünschten Zugriffskonzept passen. Das vollständige Entfernen der Route kann außerdem Funktionen des Block-Editors oder anderer Anwendungen beeinträchtigen.

Kann ein öffentliches Verzeichnis bestehen bleiben, obwohl Daten geschützt sind?

Ja. Schnittstellenbeschreibung und Zugriff auf Daten sind verschiedene Ebenen. Das Verzeichnis erleichtert die Integration; die Berechtigung wird für die konkrete Operation geprüft.

Was eignet sich als belastbarer Prüfbeleg?

Der tatsächliche API-Einstieg, Zeitpunkt, Methode, Parameter, Authentifizierungszustand, Status und geprüfter Antwortinhalt gehören zusammen. Aussagen über Schreibschutz benötigen passende autorisierte Tests oder eine gezielte Codeprüfung. Eine einzelne anonyme GET-Antwort reicht dafür nicht.

Lukas Wojcik

Lukas Wojcik

Systems architect and technology enthusiast specializing in scalable tracking solutions, GMP Stack (GA4 & GTM), and robust backend architectures. Advocate for clean code and privacy-first design.

Kontakt

Eine Frage oder eine Idee für ein Webprojekt? Schreib mir kurz, worum es geht. Das Formular nutzt reCAPTCHA und formconfirmed zum Schutz vor Spam.

Kommentar schreiben

Randfälle, die der Artikel nicht behandelt, und Rückfragen zum Code sind hier willkommen.

Die E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind mit einem Stern versehen.

LUKASWOJCIK.COM · NEWSLETTER

Neue Ideen im Postfach

Neue Blogartikel, praktische Tools und Einblicke in die Projekte.

Themen auswählen (optional)
Ohne Auswahl: alle Themen.

Erst nach Bestätigung per E-Mail. · Datenschutz

Datenschutz · Newsletter

E-Mail-Adresse, Sprache, Themenauswahl sowie Anmelde- und Bestätigungszeit werden für den Newsletter gespeichert. Versand nur nach Double-Opt-in. Jede Ausgabe enthält eine sofortige Abmeldung. Formconfirmed prüft die Anmeldung auf Spam; dafür werden Formularsignale und die E-Mail-Adresse verarbeitet. Keine Öffnungs- oder Klicktracking-Pixel im Newsletter.

Vollständige Datenschutzerklärung öffnen ↗