Remote Code Execution: Ein Leitfaden für WordPress-Benutzer
Veröffentlicht: 2021-04-28Wenn Sie es mit der Sicherheit Ihrer Website ernst meinen, ist es an der Zeit, sich über die Gefahren von Sicherheitslücken bei der Remotecodeausführung und deren Bekämpfung zu informieren.
Der Begriff Remote Code Execution (RCE) bezieht sich auf verschiedene Hacking-Techniken und Cyberangriffe, die jedoch alle eines gemeinsam haben. RCE, manchmal auch als Code Injection bezeichnet, ist eine immer häufigere Methode für Hacker, Websites aller Art zu kompromittieren, einschließlich Websites, die WordPress als Content-Management-System ausführen.
In diesem Handbuch erklären wir im Detail, wie ein Angriff mit Remotecodeausführung aussieht und welche Schritte Sie unternehmen müssen, um ihn zu vermeiden. Lass uns mal sehen.
Was sind Remote Code Execution (RCE)-Angriffe?
Remote Code Execution (RCE) ist eine Art von Sicherheitsanfälligkeit, die einem Hacker die Möglichkeit gibt, auf einen Computer oder eine Datenbank, die einer anderen Person gehört, zuzugreifen und diese zu ändern. Bei einem RCE-Angriff überholt ein Hacker den Server oder Computer durch den Einsatz von Schadsoftware (willkürliche Schadsoftware).
Ein Remote-Code-Execution-Angriff wird ohne die Autorität des Hardwarebesitzers durchgeführt, und es spielt keine Rolle, wo auf der Welt die Daten gespeichert sind.
RCE-Angriffe erklärt
Es kann hilfreich sein, an Remote-Code-Ausführungsangriffe wie Termiteninfektionen zu denken:
- Eine Termite gräbt sich unter einem Haus ein.
- Der Hausbesitzer weiß es nicht und hätte die Termiten definitiv nicht eingeladen, wenn er von dem Schaden gewusst hätte, den er anrichten will.
- Die Termite frisst das Fundament des Hauses, bis das Haus nicht mehr steht.
Obwohl die Metapher nicht genau die gleiche ist wie ein RCE-Angriff, ist ein RCE-Angriff tatsächlich schlimmer . Anders als die Termiten, die sich bei Ihnen zu Hause (oder darin) befinden müssen, kann ein Hacker von überall auf Ihre Website zugreifen.
Tatsache ist, dass RCE-Angriffe unglaublich gefährlich sind, da Hacker jede Art von Schadcode auf einem anfälligen Server ausführen können. Es gibt wirklich keine Grenzen für den Schaden, den ein erfahrener RCE-Hacker Ihrer WordPress-Site zufügen kann, wenn er Zugriff darauf erhält.
Beispiel für Remote-Codeausführung
Im Jahr 2018 hat Microsoft eine Sicherheitsanfälligkeit bezüglich Remotecodeausführung bekannt gegeben, die im Softwareprogramm Excel gefunden wurde. Ein Angreifer könnte die Sicherheitsanfälligkeit ausnutzen, um beliebigen Code im Kontext des aktuellen Benutzers auszuführen.
Wenn der aktuelle Benutzer mit administrativen Benutzerrechten angemeldet war, könnte ein Angreifer die Kontrolle über das betroffene System übernehmen. Ein Angreifer könnte dann Programme installieren; Daten anzeigen, ändern oder löschen; oder erstellen Sie neue Konten mit vollen Benutzerrechten. Benutzer, deren Konten mit weniger Benutzerrechten auf dem System konfiguriert wurden, könnten weniger betroffen sein als Benutzer, die mit administrativen Benutzerrechten arbeiten.

Was sind die verschiedenen Arten der Remotecodeausführung?
Um RCE-Hacks besser zu verstehen, müssen Sie die verschiedenen Arten der Remotecodeausführung kennen:
SQL-Injections
Ihre WordPress-Website verwendet eine MySQL-Datenbank zum Betrieb. SQL-Injections treten auf, wenn ein Angreifer Zugriff auf Ihre WordPress-Datenbank und auf alle Ihre Website-Daten erhält.
Mit einer SQL-Injection kann ein Angreifer möglicherweise ein neues Benutzerkonto auf Administratorebene erstellen, mit dem Sie sich anmelden und vollen Zugriff auf Ihre WordPress-Website erhalten können. SQL-Injections können auch verwendet werden, um neue Daten in Ihre Datenbank einzufügen, einschließlich Links zu bösartigen oder Spam-Websites.
Viele RCE-Schwachstellen greifen die Art und Weise an, wie WordPress-SQL-Anweisungen aufgebaut sind. Wenn eine Anwendung beispielsweise Datenbankbenutzernamen lesen muss, könnte ein Entwickler den Fehler machen, Code wie den folgenden für eine Benutzernamensuche zu verwenden:
SELECT * FROM Benutzer WHERE name = 'Benutzername'
Aber was ist das Problem bei einer Abfrage wie dieser in Bezug auf RCE? Jeder Besucher Ihrer WordPress-Site, sogar Hacker mit schlechten Absichten, kann einen Benutzernamen eingeben. Als Beispiel könnte der Hacker '1”1'= –, OR ' eingeben, was zu einer SQL-Anweisung wie dieser führen würde:
SELECT * FROM Benutzer WHERE name = '1'='1' --' ODER ''
Angenommen, die Anwendung durchsucht die gesamte Datenbank nach Site-Benutzernamen und wählt dann jedes Feld aus, in dem ein leerer Name vorhanden ist, wenn 1 gleich 1 ist, ist letzteres immer wahr. Am Ende wird den Hackern jeder Benutzername innerhalb der SQL-Datenbank zur Verfügung gestellt.
Ein Datenleck wie dieses ist jedoch nicht die einzige Gefahr bei SQL-Injections. Ein Angreifer könnte auch eine Vielzahl von Befehlen an die SQL-Datenbank senden, die wichtige WordPress-Site-Daten überschreiben oder löschen könnten.
Cross-Site-Scripting
Cross-Site-Scripting ist eine weitere RCE-Schwachstelle. Es wirkt sich direkt auf die Besucher der Website aus und nicht auf Ihre Server. Cross-Site-Scripting (XSS) ist eine Art von Malware-Angriff, der durch die Ausnutzung von Cross-Site-Schwachstellen auf jeder WordPress-Site ausgeführt wird. Tatsächlich ist dies die häufigste Methode, mit der WordPress-Sites gehackt werden, da es so viele WordPress-Plugins mit XSS-Schwachstellen gibt.
Innerhalb jeder Webseite werden Code und Inhalt auf identische Weise gerendert. Ein Webbrowser kann jedoch Code vom Inhalt unterscheiden, da er immer in Skript-Tags eingeschlossen ist. Das bedeutet, dass Angreifer ohne einen geeigneten Filter in der Lage sind, bösartigen Code an jeder Stelle einer Webseite einzuschleusen, an der Text eingegeben werden kann. Ohne einen geeigneten Filter sind Angreifer in der Lage, bösartigen Code an jeder Stelle einer Webseite einzuschleusen, an der Text eingegeben werden kann. Bist du geschützt?
Dazu gehören anfällige Felder wie Suchleisten (oft auf jeder Seite Ihrer WordPress-Site), Kommentarbereiche oder sogar Anzeigenamen.
Wenn dieser Angriff ausgeführt wird, führt der Browser, auf dem Ihre Website ausgeführt wird, den bösartigen Code aus.
Cross-Site-Scripting wäre kein so großes Sicherheitsproblem, wenn es nur im Browser des Angreifers ausgeführt würde. Wenn der bösartige Code jedoch für die Öffentlichkeit sichtbar ist, z. B. in Kommentarbereichen Ihrer Blog-Posts, wirkt sich dies auch auf alle Besucher aus, die den Inhalt anzeigen.
Mit dieser gefährlichen Möglichkeit, Code aus der Ferne auszuführen, kann ein Angriff leicht Passwörter stehlen und sich als legitime Benutzer ausgeben.
Sie können möglicherweise auch die personenbezogenen Daten dieses Benutzers anzeigen, z. B. Kreditkartendaten oder PayPal-Kontoinformationen.
Verzeichnisdurchquerung
Dieser Angriff richtet sich nicht gegen eine Anwendung oder die Besucher Ihrer WordPress-Site. Stattdessen ist das Hauptziel Ihre eigentliche Website.
Die RCE-Schwachstelle nutzt aus, wie Site-Dateien im Dateisystem Ihres Website-Servers gespeichert werden.
Normalerweise werden Daten in einem Standardverzeichnis wie /home/user/public_html gespeichert. Die Skripte in den Verzeichnissen greifen auf Dateien zu, indem sie einen relativen Pfad wie wp-admin/index.php verwenden, der direkt auf /home/user/public_html/wp-admin/index.php verweist.
Wenn ein Skript für den Zugriff auf eine Datei außerhalb des aktuellen Verzeichnisses konfiguriert ist, wird dies einfach durch Einfügen eines „../“ erreicht. Dies bezieht sich auf das Verzeichnis, das sich einen Schritt über dem aktuellen Verzeichnis befindet.
Als Beispiel wird das Verzeichnismuster /home/user/public_html/../ nach /home/user/ geleitet.
Wenn ein Skript von benutzerdefinierten Dateinamen lesen oder hochladen darf, leitet ein Angreifer die Anwendung zum Durchqueren von Verzeichnissen mit einem Namen wie ../../../../../../../ ../../etc/passwd.
Wenn Sie wichtige Sicherheitsfunktionen wie die Eingabefilterung nicht implementiert haben, kann der Hacker dann direkt auf die Kerndateien Ihres Servers zugreifen, was für die Sicherheit Ihrer Site eine schlechte Nachricht ist.
Was können Sie tun, um Angriffe durch Remote Code Execution (RCE) zu verhindern?
Die detaillierten Informationen in diesem Handbuch sollen Sie nicht einschüchtern oder Ihnen Angst machen. Es soll vielmehr die zunehmende Bedeutung hervorheben, dass jederzeit die robustesten Sicherheitsmaßnahmen für WordPress-Sites ausgeführt werden.
Es dient auch als Erinnerung, Ihre Plugins jederzeit auf dem neuesten Stand zu halten, um sicherzustellen, dass sie nicht für neue RCE-Schwachstellen offen sind.
Die überwiegende Mehrheit der RCE-Angriffe kann abgeschwächt oder vollständig gestoppt werden, indem man sich ihrer bewusst bleibt und sich darauf vorbereitet, bevor sie passieren. Als Besitzer von WordPress-Sites ist es wichtig, vorauszusehen und zu verstehen, wie unsere Site-Server die von unseren Benutzern bereitgestellten Informationen verarbeiten.
So verhindern Sie Angriffe durch Remote Code Execution (RCE) - Gunook
Der beste Weg, um sicherzustellen, dass Ihre Website vor RCE-Schwachstellen geschützt ist, besteht darin, ein facettenreiches Abwehrsystem einzusetzen. Mit anderen Worten, selbst wenn eine Verteidigungslinie versagt, bleiben Sie vor möglichen Angriffen geschützt.
Lassen Sie uns nun einen Blick auf einige der wichtigsten Schritte werfen, die Sie ergreifen sollten, um diese bösartigen und oft gefährlichen Angriffe zu verhindern. Mehrere Faktoren können Ihre WordPress-Site anfälliger für erfolgreiche Angriffe machen.
1. Laden Sie das iThemes Security Pro-Plugin herunter und installieren Sie es
Um mit dem Sichern und Schützen Ihrer Website zu beginnen, laden Sie das iThemes Security Pro-Plugin herunter und installieren Sie es.
Holen Sie sich jetzt iThemes Security Pro
2. Aktivieren Sie die Versionsverwaltung, um WordPress Core, Plugins und Themes auf dem neuesten Stand zu halten
Einfach ausgedrückt: Sie setzen sich selbst einem Angriffsrisiko aus, wenn Sie veraltete Versionen von WordPress, Plugins und Themes auf Ihrer Website verwenden. Versionsupdates enthalten oft Patches für Sicherheitsprobleme im Code, einschließlich RCE-Schwachstellen (Remote Code Execution), daher ist es wichtig, immer die neueste Version aller auf Ihrer WordPress-Website installierten Software auszuführen.
Updates werden in Ihrem WordPress-Dashboard angezeigt, sobald sie verfügbar sind. Machen Sie es sich zur Gewohnheit, ein Backup durchzuführen und dann jedes Mal, wenn Sie sich bei Ihrer WordPress-Site anmelden, alle verfügbaren Updates auszuführen. Auch wenn das Ausführen von Updates unbequem oder mühsam erscheinen mag, ist es eine wichtige bewährte Methode für die WordPress-Sicherheit.

Es ist schwierig, jede offengelegte WordPress-Sicherheitslücke im Auge zu behalten – wir verfolgen und teilen sie in unseren WordPress Vulnerability Roundups – und vergleichen diese Liste mit den Versionen von Plugins und Themes, die Sie auf Ihrer Website installiert haben. Dies hält WordPress-Hacker jedoch nicht davon ab, auf Plugins und Themes mit bekannten Schwachstellen abzuzielen. Die Installation von Software mit bekannten Schwachstellen auf Ihrer Website gibt Hackern die Blaupausen, die sie benötigen, um Ihre Website zu übernehmen.
Mit der Versionsverwaltungsfunktion im iThemes Security Pro-Plugin können Sie WordPress, Plugins und Designs automatisch aktualisieren. Darüber hinaus bietet die Versionsverwaltung auch Optionen, um Ihre Website zu härten, wenn Sie veraltete Software verwenden und nach alten Websites zu suchen.
Um mit der Versionsverwaltung zu beginnen, aktivieren Sie das Modul auf der Hauptseite der Sicherheitseinstellungen.

Klicken Sie nun auf die Schaltfläche Einstellungen konfigurieren , um sich die Einstellungen genauer anzusehen, die alle zum Schutz Ihrer Site entwickelt wurden.

- WordPress-Updates – Installieren Sie automatisch die neueste WordPress-Version.
- Plugin-Updates – Installieren Sie automatisch die neuesten Plugin-Updates. Wenn Sie diese Einstellung aktivieren, wird die Funktion für automatische WordPress-Plugins deaktiviert, um Konflikte zu vermeiden.
- Theme-Updates – Installieren Sie automatisch die neuesten Theme-Updates. Wenn Sie diese Einstellung aktivieren, wird die automatische Theme-Update-Funktion von WordPress deaktiviert, um Konflikte zu vermeiden.
- Site stärken, wenn veraltete Software ausgeführt wird – Fügen Sie der Site automatisch zusätzlichen Schutz hinzu, wenn ein verfügbares Update einen Monat lang nicht installiert wurde.
- Nach alten WordPress-Sites scannen – Führen Sie einen täglichen Scan des Hosting-Kontos nach alten WordPress-Sites durch, die es einem Angreifer ermöglichen könnten, den Server zu kompromittieren. Eine einzelne veraltete WordPress-Site mit einer Schwachstelle könnte es Angreifern ermöglichen, alle anderen Sites auf demselben Hosting-Konto zu kompromittieren.
- Automatisches Update, wenn Schwachstelle behebt – Diese Option arbeitet zusammen mit dem iThemes Security Pro Site Scan, um Ihre Website auf bekannte WordPress-, Plugin- und Theme-Schwachstellen zu überprüfen und einen Patch anzuwenden, wenn einer verfügbar ist.
Plugin- und Theme-Updates
Werfen wir nun einen genaueren Blick auf die Konfiguration von Plugin- und Theme-Updates. Bevor wir beginnen, nur eine kurze Erinnerung daran, dass die Aktivierung der Plugin- und Theme-Update-Einstellungen die automatische WordPress-Update-Funktion deaktiviert, um Konflikte zu vermeiden.
Sowohl die Plugin- als auch die Theme-Update-Einstellungen haben drei Möglichkeiten.
- Leer/Keine – Wenn Sie die Einstellung leer lassen, kann WordPress die Plugin- und Theme-Updates verwalten.
- Benutzerdefiniert – Mit der Option Benutzerdefiniert können Sie die Updates genau nach Ihren Wünschen anpassen. Wir werden dies in Kürze mehr behandeln.
- All – All aktualisiert alle Ihre Plugins oder Themes, sobald ein Update verfügbar ist.
Sehen wir uns nun die Option Benutzerdefiniert genauer an.

Die Auswahl der Option Benutzerdefiniert bietet drei verschiedene Möglichkeiten für Ihre Plugin- und Theme-Updates. Wie wir sehen, bietet die Einstellung für benutzerdefinierte automatische Updates viel mehr Flexibilität als die Option zum Ein- oder Ausschalten der automatischen Aktualisierung von WordPress.

3. Scannen Sie Ihre Site nach anfälligen Plugins und Themes
Der iThemes Security Pro Site Scanner ist eine weitere Möglichkeit, Ihre WordPress-Website vor der Hauptursache aller Software-Hacks zu schützen und zu schützen: veraltete Plugins und Themes mit bekannten Schwachstellen. Der Site Scanner überprüft Ihre Site auf bekannte Schwachstellen und wendet automatisch einen Patch an, falls einer verfügbar ist.
Die 3 Arten von geprüften Schwachstellen
- WordPress-Sicherheitslücken
- Plugin-Sicherheitslücken
- Thema Schwachstellen
Um die Site - Scan auf Neuinstallationen, navigieren Sie zu dem iThemes Security Pro Einstellungen zu aktivieren und klicken Sie auf die Schaltfläche Aktivieren auf der Site Scan - Einstellungen Modul.

Um einen manuellen Site-Scan auszulösen, klicken Sie im Site-Scan-Widget in der rechten Seitenleiste der Sicherheitseinstellungen auf die Schaltfläche Jetzt scannen .

Die Site-Scan-Ergebnisse werden im Widget angezeigt.

Wenn der Site Scan eine Schwachstelle erkennt, klicken Sie auf den Link zur Schwachstelle, um die Detailseite anzuzeigen.

Auf der Seite Site Scan-Schwachstelle sehen Sie, ob ein Fix für die Schwachstelle verfügbar ist. Wenn ein Patch verfügbar ist, können Sie auf die Schaltfläche Update Plugin klicken, um den Fix auf Ihrer Website anzuwenden.
Es kann eine Verzögerung zwischen der Verfügbarkeit eines Patches und der Aktualisierung der iThemes-Sicherheitslückendatenbank geben, um den Fix widerzuspiegeln. In diesem Fall können Sie die Benachrichtigung stummschalten, um keine weiteren Warnungen im Zusammenhang mit der Sicherheitsanfälligkeit zu erhalten.
4. Verhindern Sie Session-Hijacking
Sie sollten für Ihre Administratoren und Redakteure auf Ihrer WordPress-Website einen Schutz vor Session-Hijacking haben, um sich vor Sicherheitslücken bei der Codeausführung aus der Ferne zu schützen.
Mit der Trusted Devices-Funktion von iThemes Security Pro gehört Session Hijacking der Vergangenheit an. Wenn sich das Gerät eines Benutzers während einer Sitzung ändert, meldet iThemes Security den Benutzer automatisch ab, um unbefugte Aktivitäten auf dem Konto des Benutzers zu verhindern, wie z. B. das Ändern der E-Mail-Adresse des Benutzers oder das Hochladen schädlicher Plugins.
Die Funktion Vertrauenswürdige Geräte in iThemes Security Pro identifiziert die Geräte, die Sie und andere Benutzer verwenden, um sich bei Ihrer WordPress-Site anzumelden. Nachdem Ihre Geräte identifiziert wurden, können wir Session-Hijacker und andere bösartige Akteure daran hindern, Ihrer Website Schaden zuzufügen.
Wenn sich ein Benutzer auf einem unbekannten Gerät angemeldet hat, können Vertrauenswürdige Geräte seine Administratorrechte einschränken. Dies bedeutet, dass ein Angreifer, wenn er in das Backend Ihrer WordPress-Site eindringen könnte, keine böswilligen Änderungen an Ihrer Website vornehmen kann.
Um vertrauenswürdige Geräte zu verwenden, aktivieren Sie sie auf der Hauptseite der Sicherheitseinstellungen und klicken Sie dann auf die Schaltfläche Einstellungen konfigurieren .

Entscheiden Sie in den Einstellungen für vertrauenswürdige Geräte, welche Benutzer Sie die Funktion verwenden möchten, und aktivieren Sie dann die Funktionen Funktionen einschränken und Session-Hijacking-Schutz .

Nach dem Aktivieren der neuen Einstellung Vertrauenswürdige Geräte erhalten Benutzer eine Benachrichtigung in der WordPress-Administrationsleiste über ausstehende nicht erkannte Geräte. Wenn Ihr aktuelles Gerät nicht zur Liste der vertrauenswürdigen Geräte hinzugefügt wurde, klicken Sie auf den Link Dieses Gerät bestätigen , um die Autorisierungs-E-Mail zu senden.

Klicken Sie in der E-Mail für die nicht erkannte Anmeldung auf die Schaltfläche Gerät bestätigen , um Ihre aktuellen Geräte zur Liste der vertrauenswürdigen Geräte hinzuzufügen.

Sobald Vertrauenswürdige Geräte aktiviert ist, können Benutzer Geräte über ihre WordPress-Benutzerprofilseite verwalten. Auf diesem Bildschirm können Sie Geräte aus der Liste Vertrauenswürdige Geräte genehmigen oder ablehnen.

Darüber hinaus haben Sie die Möglichkeit, sich für einige Drittanbieter-APIs anzumelden, um die Genauigkeit der Identifizierung vertrauenswürdiger Geräte zu verbessern und statische Imagemaps zu verwenden, um den ungefähren Standort einer nicht erkannten Anmeldung anzuzeigen. Sehen Sie sich die Einstellung Vertrauenswürdige Geräte an, um zu sehen, welche Integrationen verfügbar sind.

5. Aktivieren Sie die Zwei-Faktor-Authentifizierung für alle Admin-Benutzer
Die Zwei-Faktor-Authentifizierung ist ein Prozess zur Überprüfung der Identität einer Person, indem zwei separate Überprüfungsmethoden erforderlich sind. Google teilte in seinem Blog mit, dass die Verwendung der Zwei-Faktor-Authentifizierung 100% der automatisierten Bot-Angriffe stoppen kann. Keine schlechten Chancen!
Mit dem iThemes Security-Plugin können Sie die Zwei-Faktor-Authentifizierung für Ihre WordPress-Site aktivieren, sodass Benutzer einen sekundären Code eingeben müssen, um sich anzumelden.
Die drei von iThemes Security Pro bereitgestellten Zwei-Faktor-Authentifizierungsmethoden umfassen:
- Mobile App – Die mobile App-Methode ist die sicherste Methode der Zwei-Faktor-Authentifizierung von iThemes Security Pro. Diese Methode erfordert, dass Sie eine kostenlose mobile Zwei-Faktor-App wie Authy oder Google Authenticator verwenden.
- E-Mail – Die Zwei-Faktor- E- Mail-Methode sendet zeitkritische Codes an die E-Mail-Adresse Ihres Benutzers.
- Backup-Codes – Eine Reihe von Einmalcodes, die für die Anmeldung verwendet werden können, falls die primäre Zwei-Faktor-Methode verloren geht.
Um die Zwei-Faktor-Authentifizierung auf Ihrer Website zu verwenden, aktivieren Sie die Funktion auf der Hauptseite der iThemes Security Pro-Einstellungen.

Befolgen Sie die Schritte hier, um mit der Einrichtung der Zwei-Faktor-Authentifizierung für Ihre WordPress-Site fortzufahren. Wenn Sie unsere Empfehlungen befolgt und die Force-Anforderungen für privilegierte Benutzer aktiviert haben, sehen Sie als Nächstes die Stelle, an der Sie das Zwei-Faktor-Token eingeben können.

RCE-Prävention: Zusätzliche Tipps
1. Verwenden Sie nur etablierte Softwareanwendungen und Plugins
Der Prozess des „Fluchts“ funktioniert hervorragend als Ihre erste Verteidigungslinie gegen RCE-Schwachstellen. Es gibt jedoch über die Skript-Tags hinaus einige zusätzliche Möglichkeiten, wie Code von Servern und Browsern interpretiert werden kann.
Wenn Ihr Ziel darin besteht, jeden einzelnen von ihnen selbst im Auge zu behalten, wäre dies sehr kompliziert und würde eine Menge Zeit und Ressourcen erfordern.
Glücklicherweise haben sich Anwendungsentwickler viele Gedanken über RCE-Schwachstellen gemacht.
Es ist am besten, ein vertrauenswürdiges und seriöses CMS (Content-Management-System) wie WordPress zu verwenden, da Lösungen direkt in die Plattform und die darauf ausgeführten Themes und Plugins integriert sind.
Es ist immer wichtig, dass Sie alle Softwareanwendungen und Plugins auf dem neuesten Stand halten, wenn neue Versionen veröffentlicht werden. Wenn Schwachstellen aufgedeckt werden, arbeiten Softwareentwickler rund um die Uhr daran, den entdeckten Schwachstellen einen Schritt voraus zu sein.
Dies gilt sowohl für Plugin- als auch für Theme-Autoren.
Wenn Sie anstelle von WordPress ein benutzerdefiniertes CMS verwenden, können Sie Ihre Website durch parametrisierte Abfragen vor potenziellen SQL-Injections schützen. Dieser Abfragetyp informiert eine Anwendung im Voraus über den genauen Abfragetyp, den Sie ausführen werden. Es erkennt und entfernt dann hinzugefügte Befehle, die ein Hacker möglicherweise einzufügen versucht. Anstelle einer erfolgreichen Einfügung wird die ursprüngliche Abfrage gesendet und die hinzugefügte Zeichenfolge ausgeschlossen.
Im obigen Beispiel würde eine parametrisierte Abfrage so aussehen:
$query=”SELECT * FROM Benutzer WHERE name = ?” $results=$query.execute(“ ' ODER '1'='1' --”)
In diesem Szenario verarbeitet Ihre Datenbank ' ODER '1'='1′ richtig. Es betrachtet diese Abfrage als eine Zeichenfolge nur aus Text und erkennt, dass dem angegebenen Namen kein Benutzer zugeordnet ist.
2. Bestätigen Sie die Eingabe von Benutzern
Der beste Ort, um RCE-Schwachstellen zu verhindern, ist dort, wo Ihre Site-Benutzer mit Ihrer Anwendung interagieren.
Die einfachste Methode besteht darin, unerwünschte Zeichen zu entfernen und herauszufiltern.
Eine weitere Möglichkeit besteht darin, Inhalte zu bewahren, indem man sie entzieht.
Wenn Sie nicht wissen, was Escaping bedeutet, ist dies der Prozess, bei dem Sie Ihren Computer anweisen, sich etwas anzusehen, das wie Code als normaler Text aussieht. Sie würden beispielsweise ein script-Tag durch „<script>“ ersetzen.
Dadurch versteht es ein Webbrowser, die Kleiner-als-“<- und die Größer-als-“-Symbole an der angegebenen Stelle anzuzeigen. Es wird jedoch nicht die gesamte Textzeichenfolge als Code behandelt.
Für den Benutzer ist das Ergebnis unsichtbar.
3. Das Prinzip der geringsten Rechte
Es kann in seltenen Fällen zu einer Zero-Day-RCE-Schwachstelle kommen. Das bedeutet, dass weder Ihnen noch den CMS- und Anwendungsentwicklern eine bestimmte neue Angriffsart bekannt ist.
Selbst in einem solchen Fall können wir den Schaden, den ein Angreifer anrichten kann, begrenzen, indem wir einige einfache Regeln dafür festlegen, was eine Anwendung tun kann.
Stellen Sie sich beispielsweise vor, Sie entwerfen eine Anwendung, die aus einer Datenbank liest. Es wäre wirklich nicht notwendig, der neuen Anwendung die Möglichkeit oder Berechtigung zum Löschen oder Schreiben von Datenbankeinträgen zu geben.
In diesem Fall werden Angreifer, selbst wenn sie versuchen, das Skript zu kompromittieren, auf einen Fehler stoßen und bei ihrem Versuch scheitern.
Das Prinzip der geringsten Rechte ist auch nützlich, wenn es sich auf PHP-Funktionen bezieht.
PHP-Funktionen sind ein Standardziel für Online-Angreifer aller Art. Robuste Funktionen, die für Ihre App möglicherweise nicht benötigt werden, wie ini_set() (dies ermöglicht Ihnen, Ihre PHP-Einstellungen aus dem Skript heraus zu aktualisieren) oder exec() (das als Text übergebenen Code ausführt), sollten deaktiviert werden.
Dies verhindert, dass Hacker und Angreifer sie für böswillige Zwecke verwenden.
Diese besondere Idee gilt für die Sicherung der öffentlich zugänglichen Bereiche Ihrer Website sowie des serverseitigen Codes.
4. Inhalts-Sicherheits-Richtlinie
Content-Security-Policy ist ein Header, der in HTTP von den meisten modernen Webbrowsern verwendet wird. Es bestimmt, welche Arten von Inhalten der Browser auf Ihrer Website laden soll. Wenn Sie Header von Ihrer Anwendung oder Ihrem Webserver senden, können Sie angeben, welche Skripttypen ausgeführt werden dürfen und an welche Speicherorte.
Die Verwendung dieser Strategie trägt dazu bei, Hacker daran zu hindern, ihre bösartigen Skripte einzuschleusen.
5. Stoppen Sie das Skript vom Lesen von Cookies
Eine weitere Möglichkeit besteht darin, zu verhindern, dass Skripte Cookies lesen. Dadurch wird verhindert, dass Anfragen an andere Sites gesendet werden.
Dies geschieht, indem sie mit den Attributen SameSite=Strict oder HttpOnly festgelegt werden. Selbst in einem Szenario, in dem der Code eines Hackers auf Ihrer WordPress-Site ausgeführt wird, verhindern Sie, dass er Zugriff auf die Authentifizierungscookies Ihres Site-Benutzers erhält.
Dadurch wird der potenzielle Schaden während eines WordPress-Remote-Code-Ausführungsangriffs erheblich reduziert.
Zum Abschluss: WordPress Remote Code Execution
Machen Sie sich keine Sorgen, wenn Sie sich ein wenig überfordert fühlen, wenn Sie all die potenziellen Sicherheitsbedrohungen entdecken, die Ihre WordPress-Site durchsuchen. Die Wahrheit ist, dass es viele Bedrohungen gibt, aber die Lösungen können einfach sein.
Wir hoffen, dieser Leitfaden hat Ihnen geholfen, das Risiko von RCE-Angriffen auf Ihre WordPress-Site zu verstehen. Durch die Implementierung einiger bewährter WordPress-Sicherheitspraktiken zusammen mit den obigen 5 Schritten haben Sie eine bessere Verteidigungslinie.
Kristen schreibt seit 2011 Tutorials, um WordPress-Benutzern zu helfen. Normalerweise arbeitet sie an neuen Artikeln für den iThemes-Blog oder entwickelt Ressourcen für #WPprosper. Außerhalb der Arbeit schreibt Kristen gerne Tagebuch (sie hat zwei Bücher geschrieben!), wandert und zeltet, kocht und erlebt tägliche Abenteuer mit ihrer Familie, in der Hoffnung, ein präsenteres Leben zu führen.
