WordPress SQL Injection: Tools und Techniken zur Abwehr von Angriffen
Veröffentlicht: 2020-09-24
SQL-Injection war früher eine weit verbreitete Hacking-Technik, um die WordPress-Datenbank zu manipulieren. Heutzutage ist Cross Site Scripting (XSS) beliebt und hat sich zur Nummer eins Methode zum Hacken einer WordPress-Site entwickelt.
In diesem Handbuch werde ich die Grundlagen von WordPress SQL Injection behandeln und wie man es loswird. Im nächsten Teil werde ich Cross Site Scripting behandeln. Lass uns anfangen!
- Was ist SQL-Injection?
- Einstiegspunkte für SQL-Injection-Angriffe
- Warum sind SQL-Injection-Angriffe üblich?
- Wie funktioniert SQL-Injection?
- Möglichkeiten zum Verhindern von SQL-Injection in WordPress
- Tipp Nr. 1 Nach SQL-Injection-Schwachstellen suchen
- Tipp #2 Update, Update, Update!
- Tipp #3 WordPress Theme & Plugins
- Tipp #4 Verwenden Sie vertrauenswürdige Formular-Plugins
- Tipp #5 WordPress-Version ausblenden
- Tipp#6 Datenbankpräfix ändern
- Tipp #7 Machen Sie immer ein Backup
Tipp Nr. 8 Protokolle führen - Tipp Nr. 9 Verwenden Sie eine Firewall
- Tipp # 10 Entfernen Sie unnötige Datenbankfunktionen
- Häufig gestellte Fragen
- Letzte Worte!
Was ist SQL-Injection?
SQL Injection ist das Ergebnis von Lücken in der Backend-Codierung. Ein Angreifer kann die Eingabefelder leicht missbrauchen, indem er bösartigen Code einfügt, der SQL-Befehle ausführen und die Daten in der Datenbank erstellen, abrufen, aktualisieren und sogar löschen kann.
SQL ist die Kurzform für Structured Query Language – die am weitesten verbreitete Sprache für die Datenbank in der Webentwicklung. Hier sind die wenigen beliebtesten Datenbank-Engines, die SQL verwenden.
Datenbanken mit SQL
Wir haben eine Menge Datenbanksoftware auf dem Markt. Zu den beliebtesten gehören:
- Orakel
- MySQL
- SQL Server
- PostgreSQL
- MongoDB usw.
Wie Sie sehen, ist MySQL der zweite in der Liste. WordPress, das allein SQL verwendet, hat zu mehr als 35 % des WWW beigetragen und ist zum attraktivsten Ziel für Angreifer geworden.

Einstiegspunkte für SQL-Injection-Angriffe
Alle Eingabefelder gelten als die häufigsten Einstiegspunkte für SQL-Injection-Angriffe. In Laiensprache können wir sagen:
- Anmeldeformulare
- Anmeldeformulare
- Kontaktformulare
- Website-Suchen
- Feedbackfelder
- Einkaufswagen
Warum sind SQL-Injection-Angriffe üblich?
Dies kann mehrere Gründe haben, aber hier sind die häufigsten, an die ich mich beim Schreiben des Leitfadens erinnere.
- Die meisten Datenbanken von Websites basieren auf SQL
- WordPress – das am weitesten verbreitete CMS verwendet SQL für die Datenbank
- Fast alle Websites haben Eingabefelder, um Informationen von ihren Besuchern zu sammeln
- Alle Websites haben mindestens einen der SQL-Injection-Einstiegspunkte
- SQL-Injection-Scan-Tools sind leicht online verfügbar
- Es erfordert keine technische Komplexität, um es auszunutzen
Wie funktioniert SQL-Injection?
Sie haben zum Beispiel ein Kontaktformular, in das Sie eine Telefonnummer eingeben müssen. Es sollte bestimmte Kriterien geben, wie zum Beispiel die begrenzten Zahlen nur mit einem richtigen Format eingegeben werden sollten.
Die meisten Entwickler, die die Eingabevalidierungen nicht kennen, setzen dieses Feld möglicherweise als Klartext, was bedeutet, dass man jede beliebige Zeichenfolge eingeben kann, die auch der bösartige Code sein kann. Durch die Verwendung einiger geänderter SQL-Abfragen kann man den Admin-Benutzernamen und das Passwort anfordern.
WordPress SQL-Injection-Beispiele
Sie können viele SQL-Injection-Schwachstellen mit einer einfachen Google-Suche finden. Aber lassen Sie mich heute ein Beispiel aus dem wirklichen Leben teilen: Man muss sich nur die Spieleindustrie ansehen. Zufällig konzentrieren sich viele SQL-Injection-Angriffe auf Videospiele, eine der größten und profitabelsten Branchen überhaupt.
Außerdem haben Hacker in der Vergangenheit auch einzelne Websites angegriffen, entweder Blogs, E-Commerce-Shops und einige der größten Unternehmen.
Es passiert schon seit langer Zeit, ein weiteres Beispiel für eine Schwachstelle in WordPress wurde im September 2017 gemeldet. WordPress Core war von dieser Schwachstelle nicht direkt betroffen, es wurde jedoch ein Patch (WordPress 4.8.3) veröffentlicht, um zu verhindern, dass WordPress-Plugins und -Themes betroffen sind .
Anthony Ferrara, der Mann hinter der oben genannten Schwachstelle, hat einen ausführlichen Leitfaden zu WPBD SQL Injection geschrieben, wie es sich auf eine WordPress-Site auswirken kann und welche Vorsichtsmaßnahmen für jeden WordPress-Benutzer gelten.
Es gibt keine narrensichere Möglichkeit, eine WordPress-Site zu sichern. Tatsächlich war in der Vergangenheit sogar das WordPress-Sicherheits-Plugin betroffen. Im Jahr 2014 zeigte eines der beliebtesten Sicherheits-Plugins ZWEI Schwachstellen, die eine SQL-Injection ermöglichten.
Möglichkeiten zum Verhindern von SQL-Injection in WordPress
Wie bereits erwähnt, gibt es keine Möglichkeit, Hacking-Versuche vollständig loszuwerden. Allerdings kann man das Risiko, gehackt zu werden, minimieren. Hier sind einige der gängigsten Praktiken, die helfen können, solche Angriffe zu verhindern.
Suchen Sie nach mehr Leistung und Sicherheit?
Migrieren Sie Ihre WooCommerce-Website kostenlos zu Cloudways.
Tipp Nr. 1 Nach SQL-Injection-Schwachstellen suchen
Sie können eine Reihe von Online-Tools finden, um Ihre WordPress-Site zu scannen. Ich habe die am besten bewerteten in die engere Wahl gezogen, bei denen Sie nur die URL der WordPress-Site eingeben und nach entdeckten Schwachstellen suchen müssen.
- WordPress Security Scan – Prüft auf grundlegende Schwachstellen auf Ihrer WordPress-Site. Erweiterte Scans sind mit einem Premium-Upgrade verfügbar.
- Sucuri SiteCheck – Ihre WordPress-Site kann auf bekannte Malware, Blacklisting-Status, Fehler und veraltete Sites überprüft werden.
- WPScan – Ein selbst gehosteter Schwachstellenscanner, der für den persönlichen Gebrauch kostenlos ist. Sie können auch eine kostenpflichtige Lizenz für die kommerzielle Nutzung erhalten.
Durch Ausführen eines Scan-Berichts können Sie genau sehen, auf welche Bereiche fokussiert werden muss, um die WordPress-Sicherheit zu verbessern.
Tipp #2 Update, Update, Update!
Das Wichtigste für jeden WordPress-Benutzer! Halten Sie alles auf dem neuesten Stand, einschließlich WordPress-Kern, Theme und Plugins.
WordPress-Kern
Laut offiziellen WordPress-Statistiken verwenden nur 29,3% der WordPress-Sites die neueste Version (5.5.x). Alle vorherigen Versionen können angreifbar sein und dazu führen, dass Sie gehackt werden. Im obigen Beispiel der SQL Injection-Sicherheitslücke sehen Sie, dass alle Sites, die unter der neuesten Version liegen, für die entdeckte Sicherheitsanfälligkeit anfällig sind. Wenn Ihre Website gehackt wurde, hoffe ich, dass Sie wissen, wer dafür verantwortlich ist!


PHP-Versionen
PHP, das Backend von WordPress, wurde in den letzten Jahren stark verbessert. Es wurden viele Patches und leistungsorientierte Änderungen vorgenommen. Aber immer noch verwenden mehr als 23% der WordPress-Benutzer PHP 7.2 , was einer der Faktoren für SQL Injection in WordPress sein kann. Die neueste PHP-Version ist 7.4
Hinweis: Wenn Ihr WordPress-Hosting die neuesten PHP-Versionen nicht unterstützt, ist es an der Zeit, den Host sofort auf ein verwaltetes WordPress-Hosting umzustellen, das die neuesten PHP-Versionen wie Cloudways unterstützt.

Tipp #3 WordPress Theme & Plugins
Die meisten Schwachstellen, einschließlich SQL Injection in WordPress, wurden in den Plugins und Themes entdeckt, nicht im WordPress-Kern. Behalten Sie die Updates und Fixes im Auge und passen Sie sie entsprechend an.
Wenn ein Theme und Plugin nicht regelmäßig aktualisiert werden, kann das ein Fragezeichen auf deiner WordPress-Seite sein. Verwenden Sie immer ein Theme/Plugin, das häufig aktualisiert wird.
Hinweis: Bevor Sie ein Update durchführen, überprüfen Sie die Kompatibilität zwischen dem WordPress-Kern, den Themes und den Plugins, um sicherzustellen, dass Ihre Website so funktioniert, wie sie sein sollte. Zum Testen können Sie eine Kopie Ihrer Live-Website erstellen und dann die Kompatibilität in der WordPress-Staging-Umgebung überprüfen.
Tipp #4 Verwenden Sie vertrauenswürdige Formular-Plugins
Wenn Sie ein Unternehmen oder sogar einen einfachen Blog betreiben, müssen Sie die Bedeutung von Formularen wie Registrierungsformularen, Anmeldeformularen, Kontaktformularen usw. kennen. Bei einer Reihe von Plugins, die im WordPress-Repository verfügbar sind, ist es schwierig, das beste zu finden. Um Ihre Suche einzugrenzen, haben wir daher eine Liste der besten WordPress Form-Plugins zusammengestellt.
Hinweis: Vergessen Sie nicht, die zuvor entdeckten Schwachstellen und deren Auflösung zu überprüfen, bevor Sie ein Plugin auswählen.
Tipp #5 WordPress-Version ausblenden
Es wird immer empfohlen, die WordPress-Version nicht öffentlich anzuzeigen. Die öffentliche Verfügbarkeit dieser Informationen kann Angreifern den Weg erleichtern, bekannte Sicherheitslücken in einer bestimmten Version auszunutzen.
Um die WordPress-Version auszublenden, kopiere sie einfach und füge sie unterhalb der Codezeile in die Datei functions.php deines aktiven Themes ein.
remove_action('wp_head', 'wp_generator');
Tipp#6 Datenbankpräfix ändern
Wenn Sie WordPress installieren, wird das Datenbankpräfix standardmäßig auf " wp_ " gesetzt. Die meisten WordPress-Benutzer ignorieren und installieren einfach mit den Standardeinstellungen. Das Erraten der Datenbanktabellen wird mit SQL-Injection-Techniken einfacher auszunutzen.
Machen Sie sich keine Sorgen, wenn Sie WordPress bereits installiert haben. Es gibt eine ausgezeichnete Anleitung, wie Sie das Datenbankpräfix in WordPress ändern können.
Tipp #7 Machen Sie immer ein Backup
Backups stehen möglicherweise nicht in direktem Zusammenhang mit SQL Injection. Es kann Ihnen jedoch helfen, eine gehackte Website wiederherzustellen. WordPress-Backups können auf zwei Arten gespeichert werden:
- Lokales Backup : Das Backup, das automatisch und/oder manuell erstellt wird und sich auf Ihrem Hosting-Provider befindet. Es wird nicht empfohlen, ein lokales Backup zu erstellen, wenn Sie mit Shared Hosting arbeiten. Sobald ein Server kompromittiert ist, können Sie auch die Backups verlieren. Wenn Ihr Server jedoch wie Cloudways in guten Händen ist, können Sie lokale Backups für WordPress aufbewahren.
- Offsite-Backup: Automatisierte und/oder manuelle Backups werden erstellt und an den gewünschten externen Speicherort wie Google Drive, Dropbox, Amazon S3 usw. gesendet. Wir haben eine ausführliche Anleitung zum Sichern von WordPress-Sites geschrieben.
Tipp Nr. 8 Protokolle führen
Dre Armeda, der Mitbegründer von Sucuri, sagte einmal:
Menschen sind und bleiben das größte Sicherheitsproblem bei WordPress.
Das heißt, Sie müssen Ihren Beitrag leisten. Behalten Sie die Änderungen im Auge und Sie sollten ein Protokoll über alles führen, was auf Ihrer WordPress-Site passiert. Es hilft Ihnen, die von Ihnen und/oder einem Angreifer vorgenommenen Änderungen zu verfolgen, damit Sie entsprechend handeln können.
Es gibt ein hervorragendes WordPress-Sicherheits-Audit-Log-Plugin, das Ihnen sicherlich weiterhelfen wird! Darüber hinaus führt Ihr Hosting-Provider auch Protokolle über alles. Lesen Sie die Protokolle gelegentlich weiter.
Tipp Nr. 9 Verwenden Sie eine Firewall
Eines der besten und wichtigsten Dinge ist die Verwendung einer Firewall, die dafür sorgt, dass Kundendaten sicher und geschützt sind. Darüber hinaus können Sie die Zugriffsebene der Benutzer basierend auf verschiedenen Faktoren wie dem abonnierten Paket definieren. Wenn Sie Cloudways verwenden, müssen Sie sich keine Sorgen machen. Alle von Cloudways gehosteten Server sind durch Firewalls auf Betriebssystemebene geschützt, die bösartigen Datenverkehr herausfiltern und Eindringlinge fernhalten.
Tipp # 10 Entfernen Sie unnötige Datenbankfunktionen
Eine der effektivsten Techniken zum Entfernen unnötiger Datenbankfunktionen und -inhalte. Umso anfälliger ist es für einen möglichen SQL-Injection-Angriff. Um dies zu verhindern, normalisieren Sie Ihre Datenbank und machen Sie Ihre Site besser und intelligenter.
Häufig gestellte Fragen
F: Was ist SQL-Injection?
A: SQL Injection ist das Ergebnis von Lücken in der Backend-Codierung. Ein Angreifer kann die Eingabefelder leicht missbrauchen, indem er bösartigen Code einfügt, der SQL-Befehle ausführen und die Daten in der Datenbank erstellen, abrufen, aktualisieren und sogar löschen kann.
F: Was ist das WordPress SQL-Injection-Beispiel?
A: Es passiert schon seit langer Zeit, ein weiteres Beispiel für eine Schwachstelle in WordPress wurde im September 2017 gemeldet. WordPress Core war von dieser Schwachstelle nicht direkt betroffen, es wurde jedoch ein Patch (WordPress 4.8.3) veröffentlicht, um zu verhindern, dass WordPress-Plugins betroffen sind und Themen.
F: Was macht eine SQL-Injection?
A: SQL Injection war die grundlegendste und am weitesten verbreitete Hacking-Technik, um die WordPress-Datenbank zu manipulieren. Heutzutage ist Cross Site Scripting (XSS) beliebt und hat sich zur Nummer eins Methode zum Hacken einer WordPress-Site entwickelt.
Letzte Worte!
Wie bereits erwähnt, gibt es keine narrensichere Möglichkeit, eine WordPress-Site zu schützen. Es besteht immer die Möglichkeit, gehackt zu werden, dies kann an der Schwachstelle im Kern, im Theme und in den Plugins liegen. Deshalb wird immer empfohlen, AKTUALISIERT zu werden! SQL Injection wurde in den letzten Jahren stark kontrolliert.
Wenn Sie jemals mit einer Art von WordPress SQL Injection-Angriff konfrontiert waren, teilen Sie Ihre Erfahrungen und auch, wie Sie sie loswerden. Ich bin sicher, es würde anderen WordPress-Benutzern helfen.
