XML-RPC – Die WordPress-Hintertür, die kaum jemand kennt

XML-RPC ist eine Schnittstelle in WordPress, über die Angreifer in einer einzigen Anfrage tausende Loginversuche starten können. Die meisten Websites brauchen sie nicht – sollten sie aber deaktivieren.

Was ist XML-RPC?

XML-RPC ist ein Kommunikationsprotokoll, das entfernte Prozeduraufrufe (Remote Procedure Calls) über HTTP unter Verwendung von XML ermöglicht. In WordPress ist die Schnittstelle als Datei xmlrpc.php im Stammverzeichnis der Installation implementiert.

Sie wurde ursprünglich für Anwendungsfälle eingeführt, bei denen externe Programme mit WordPress kommunizieren müssen, ohne den Browser zu nutzen:

  • Beiträge per E-Mail veröffentlichen
  • Mobile Apps, die direkt auf WordPress schreiben
  • Externe Dienste wie Jetpack oder IFTTT
  • Automatisierte Ping-Benachrichtigungen zwischen Blogs (Pingbacks/Trackbacks)

In modernen WordPress-Setups werden diese Funktionen heute größtenteils über die WordPress REST API abgewickelt, die sicherer und flexibler ist. XML-RPC gilt als veraltet.

Warum ist XML-RPC ein Sicherheitsrisiko?

Die Schnittstelle ist aus zwei Gründen ein ernstes Sicherheitsproblem:

1. Brute-Force-Angriffe mit Multiplikator

Über XML-RPC können Hunderte von Loginversuchen in einer einzigen HTTP-Anfrage gebündelt werden. Die WordPress-Methode system.multicall erlaubt es, mehrere Befehle gleichzeitig zu übermitteln. Das bedeutet: Während ein normaler Brute-Force-Angriff auf den Login-Endpunkt einzelne Anfragen schickt, kann XML-RPC Tausende Kombinationen mit einem Bruchteil der Anfragen durchprobieren.

Login-Schutzmechanismen, die fehlerhafte Loginversuche pro IP zählen, greifen hier oft nicht – weil die Versuche gebündelt in einer einzigen validen Anfrage ankommen.

2. DDoS-Angriffe über Pingbacks

Die Pingback-Funktion von XML-RPC kann missbraucht werden, um eine Zielwebsite mit Anfragen zu überfluten. Der Angreifer sendet manipulierte Pingback-Anfragen an Tausende WordPress-Websites – und lässt diese alle gleichzeitig Anfragen an das Ziel schicken. Die eigene Website wird dabei unbemerkt zum Instrument eines DDoS-Angriffs. Der Hoster kann in solchen Fällen den Account sperren – ohne dass der Betreiber selbst etwas getan hat.

Wer braucht XML-RPC noch?

Die überwältigende Mehrheit der WordPress-Websites benötigt XML-RPC nicht. Ausnahmen:

  • Websites, die Jetpack nutzen (zumindest für einige Jetpack-Funktionen)
  • Sehr alte mobile Apps, die noch auf XML-RPC basieren
  • Spezifische Integrationen älterer Systeme

Wer keine dieser Ausnahmen hat, sollte die Schnittstelle vollständig blockieren.

Wie prüft man, ob XML-RPC aktiv ist?

Im Browser https://ihredomain.de/xmlrpc.php aufrufen. Erscheint:

  • „XML-RPC server accepts POST requests only" → Schnittstelle ist aktiv und angreifbar
  • „403 Forbidden" oder „404 Not Found" → Schnittstelle ist blockiert oder deaktiviert

Wie deaktiviert man XML-RPC?

Über ein Sicherheits-Plugin: Wordfence, Solid Security und viele andere Sicherheits-Plugins bieten die Option, XML-RPC direkt zu blockieren. Einfachste Methode.

Über die .htaccess-Datei (Apache-Server):

<Files xmlrpc.php>
  Require all denied
</Files>

Über wp-config.php:

add_filter('xmlrpc_enabled', '__return_false');

Hinweis: Wer Jetpack oder andere XML-RPC-abhängige Dienste nutzt, kann stattdessen gezielt nur Pingbacks deaktivieren, ohne die Schnittstelle komplett zu sperren.

Fazit

XML-RPC ist eine veraltete Schnittstelle, die auf den meisten WordPress-Websites aktiv ist – obwohl sie nicht gebraucht wird. Sie öffnet Brute-Force-Angriffen eine kaum bekannte Hintertür. Die Lösung ist einfach und in wenigen Minuten umsetzbar: prüfen, ob die Schnittstelle gebraucht wird – wenn nicht, blockieren. Einen vollständigen Überblick aller Sicherheitsmaßnahmen bietet der Beitrag WordPress Sicherheitslücken: Der vollständige Leitfaden.

jetzt online