Wie verhindert man SQL-Injections? (Vollständiger Leitfaden 2020) - MalCare
Veröffentlicht: 2023-04-19Sind Sie besorgt über SQL-Injection-Angriffe auf Ihrer Website? Wenn Sie dies lesen, kennen Sie vielleicht bereits die Folgen des Angriffs. In diesem Beitrag erfahren Sie, wie Sie SQL-Injections auf einfache Weise verhindern können .
SQL-Injektionen können es einem Hacker ermöglichen, Ihre WordPress-Site zu kapern und auf sie zuzugreifen. Von dort aus können sie Ihren Datenverkehr umleiten, vertrauliche Daten stehlen, Spam-Links einfügen, Suchergebnisse mit japanischen Zeichen manipulieren und Anzeigen für illegale Produkte anzeigen. Diese Art von Angriff kann Ihrer Website und Ihrem Unternehmen irreparablen Schaden zufügen.
Glücklicherweise sind SQL-Injections vermeidbar, wenn Sie die richtigen Sicherheitsmaßnahmen ergreifen. In diesem Leitfaden gehen wir auf SQL-Injections ein und diskutieren ausführlich die effektiven Maßnahmen, um sie zu verhindern und Ihre WordPress-Website zu schützen.
TL;DR: Sie können SQL-Injections auf Ihrer WordPress-Site verhindern, indem Sie ein zuverlässiges Sicherheits-Plugin verwenden. Installieren Sie MalCare und das Plugin wird Ihre Website automatisch scannen und gegen solche Angriffe verteidigen.
[lwptoc skipHeadingLevel=“h1,h3,h4,h5,h6″ skipHeadingText=“Abschließende Gedanken“]
Was sind SQL-Injection-Angriffe?
Alle WordPress-Sites haben normalerweise Eingabebereiche, die es einem Besucher ermöglichen, Informationen einzugeben. Dies kann eine Website-Suchleiste, ein Kontaktformular oder ein Anmeldeformular sein .
In einem Kontaktformular würde ein Besucher seine Daten wie Name, Telefonnummer und E-Mail eingeben und an Ihre Website senden.
Diese Daten werden an die MySQL-Datenbank Ihrer Website gesendet. Hier werden sie verarbeitet und gespeichert.
Nun erfordern diese Eingabefelder die richtige Konfiguration, um sicherzustellen, dass die Daten überprüft und bereinigt werden, bevor sie in Ihre Datenbank gelangen. Beispielsweise besteht eine Schwachstelle in einem Kontaktformular darin, dass es nur Buchstaben und Zahlen akzeptieren sollte. Es sollte idealerweise keine Symbole akzeptieren. Wenn Ihre Website nun Daten über dieses Formular akzeptiert, können Hacker dies ausnutzen und böswillige SQL-Abfragen einfügen wie:
txtUserId = getRequestString("UserId"); txtSQL = "SELECT * FROM Users WHERE Userwp-block-heading"> How Does An SQL Attack Work?
txtUserId = getRequestString("UserId"); txtSQL = "SELECT * FROM Users WHERE Userwp-block-heading"> How Does An SQL Attack Work?
Hacker zielen auf Websites ab, die schwache Sicherheitsmaßnahmen oder Schwachstellen aufweisen, die es ihnen leicht machen, einzudringen. Unserer Erfahrung nach entwickeln Plugins und Themes oft Schwachstellen, und Hacker sind sich dessen durchaus bewusst. Sie durchstreifen das Internet ständig auf der Suche nach Websites, die anfällige Plugins und Designs verwenden.
Um dies zu erläutern, verwenden wir ein Beispielszenario. Angenommen, Herr A verwendet ein Plugin „Kontaktformular“, um ein Formular auf der Kontaktseite seiner Website zu betreiben. Nehmen wir an, dass in diesem Plugin in Version 2.4 eine SQL-Injection-Schwachstelle gefunden wurde und die Entwickler diese behoben und eine aktualisierte Version 2.4.1 veröffentlicht haben.
Bei der Veröffentlichung geben die Entwickler den Grund für das Update bekannt, das die Sicherheitslücke öffentlich bekannt macht. Das bedeutet, dass Hacker wissen, dass Version 2.4 des Kontaktformular-Plugins eine Sicherheitslücke enthält.
Jetzt verzögert Mr.X die Installation des Updates um einige Wochen, weil einfach keine Zeit ist, das Update auszuführen. Hier läuft einiges schief.
Sobald Hacker von Schwachstellen erfahren, führen sie Programme aus oder verwenden Schwachstellen-Scanner, die durch das Internet kriechen und Websites finden, die eine bestimmte Version eines Plugins/Themas verwenden.
In diesem Fall suchen sie mithilfe von Contact Form 2.4 nach Websites. Sobald sie die Website gefunden haben, kennen sie die genaue Web-Schwachstelle, was es für sie viel einfacher macht, sie zu hacken. In diesem Fall nutzen sie den SQL-Injection-Fehler aus und brechen in Ihre Website ein.
Arten von SQL-Injections
Hacker verwenden zwei Arten von SQL-Injections:
1. Klassische SQL-Injection – Wenn Sie eine Website besuchen, sendet Ihr Browser (wie Chrome oder Mozilla) eine HTTP-Anforderung an den Server der Website, um den Inhalt anzuzeigen. Der Webserver ruft den Inhalt aus der Datenbank der Website ab und sendet ihn an Ihren Browser zurück. So können Sie das Frontend einer Website anzeigen.
Jetzt enthält die Datenbank Ihrer Website alle Arten von Daten, einschließlich vertraulicher Daten wie Kundendaten, Zahlungsinformationen sowie Benutzernamen und Passwörter. Ihre Datenbank sollte so konfiguriert sein, dass nur die Front-End-Daten freigegeben werden. Alle anderen vertraulichen Daten sollten geschützt werden. Wenn diese Anwendungssicherheitsprüfungen jedoch nicht vorhanden sind, nutzen Hacker dies aus.
Bei einem klassischen SQL-Injection-Angriff senden Hacker böswillige Anfragen an Ihre Datenbank, um Daten an ihren Browser abzurufen. Sie verwenden jedoch Abfragezeichenfolgen, um sensible Informationen wie Anmeldeinformationen Ihrer Website anzufordern. Wenn Sie diese Informationen nicht geschützt haben, werden sie an den Hacker gesendet. Auf diese Weise können sie Ihre Anmeldedaten in die Hände bekommen und in Ihre Website eindringen. Angreifer können auch vorbereitete Anweisungen verwenden, um dieselben oder ähnliche Datenbankanweisungen wiederholt mit hoher Effizienz auszuführen.
2. Blinde SQL-Injektion – Dabei fügt der Hacker schädliche Skripte über Eingabefelder auf Ihrer Website ein. Sobald es in Ihrer Datenbank gespeichert ist, führen sie es aus, um alle möglichen Schäden anzurichten, z. B. den Inhalt Ihrer Website zu ändern oder sogar Ihre gesamte Datenbank zu löschen. In diesem Fall können sie die bösartigen Skripts verwenden, um auch Administratorrechte zu erlangen.
Beide Szenarien können verheerende Auswirkungen auf Ihre Website und Ihr Unternehmen haben. Glücklicherweise können Sie solche Angriffe verhindern, indem Sie die richtigen Sicherheits- und Eingabevalidierungsmaßnahmen auf Ihrer Website ergreifen.
Schritte zum Verhindern von SQL-Injection-Angriffen
Um SQL-Injection-Angriffe zu verhindern, müssen Sie eine Sicherheitsbewertung Ihrer Website durchführen. Hier sind zwei Arten von Maßnahmen, die Sie ergreifen können, um SQL-Angriffe zu verhindern – einige sind einfach, andere komplex und technisch.
Einfache vorbeugende Maßnahmen
- Installieren Sie ein Sicherheits-Plugin
- Verwenden Sie nur vertrauenswürdige Themes und Plugins
- Löschen Sie jegliche Raubkopien von Ihrer Website
- Löschen Sie inaktive Themes und Plugins
- Aktualisieren Sie Ihre Website regelmäßig
Technische Vorbeugungsmaßnahmen
- Ändern Sie den Standarddatenbanknamen
- Kontrollfeldeingaben und Datenübermittlungen
- Härten Sie Ihre WordPress-Website
Lass uns anfangen.
Einfache vorbeugende Maßnahmen gegen SQL-Injection-Angriffe
1. Installieren Sie ein Sicherheits-Plugin
Die Aktivierung eines Website-Sicherheits-Plugins ist der erste Schritt, den Sie unternehmen müssen, um Ihre Website zu schützen. WordPress-Sicherheits-Plugins überwachen Ihre Website und verhindern, dass Hacker eindringen.
Es gibt viele Plugins zur Auswahl, aber basierend auf dem, was es zu bieten hat, wählen wir MalCare. Das Plugin richtet automatisch eine Webanwendungs-Firewall ein, um Ihre Website vor Angriffen zu schützen. Hack-Versuche werden erkannt und blockiert.
Als nächstes wird der Sicherheitsscanner des Plugins Ihre Website jeden Tag gründlich scannen. Bei verdächtigem Verhalten oder böswilligen Aktivitäten auf Ihrer Website werden Sie sofort benachrichtigt. Mit MalCare können Sie Maßnahmen ergreifen und Ihre Website sofort reparieren, bevor Google Ihre Website auf die schwarze Liste setzen kann oder Ihr Hosting-Provider beschließt, Ihre Website zu sperren.
2. Aktualisieren Sie Ihre Website regelmäßig
Wie wir bereits in unserem SQL-Injection-Beispiel erwähnt haben, beheben Entwickler, wenn sie Sicherheitslücken in ihrer Software finden, diese und veröffentlichen eine neue Version, die den Sicherheitspatch enthält. Sie müssen auf die neue Version aktualisieren, um den Fehler von Ihrer Website zu entfernen.
Wir empfehlen, sich einmal pro Woche Zeit zu nehmen, um Ihre WordPress-Kerninstallation, Themes und Plugins zu aktualisieren.
Wenn Sie jedoch sehen, dass ein Sicherheitsupdate veröffentlicht wird, installieren Sie das Update sofort.
3. Verwenden Sie nur vertrauenswürdige Themen und Plugins
WordPress ist die beliebteste Plattform zum Erstellen von Websites, und das liegt zum Teil an den Plugins und Themen, die es einfach und erschwinglich machen. Aber unter der Fülle der verfügbaren Themen und Plugins müssen Sie sorgfältig auswählen. Überprüfen Sie die Details des Plugins wie die Anzahl der aktiven Installationen, das Datum der letzten Aktualisierung und die Version, mit der es getestet wurde.
Wir empfehlen, sie aus dem WordPress-Repository herunterzuladen. Für alle anderen Themen und Plugins sollten Sie gründlich recherchieren, um sicherzustellen, dass sie vertrauenswürdig sind. Dies liegt daran, dass einige Designs und Plugins von Drittanbietern von Hackern in böswilliger Absicht erstellt werden können. Es könnte auch einfach schlecht codiert sein, was es für Schwachstellen öffnet.
4. Löschen Sie jegliche Raubkopien von Ihrer Website
Raubkopierte oder nulled Themes und Plugins sind verlockend. Es bietet Ihnen kostenlosen Zugriff auf Premium-Funktionen. Aber leider kommen diese normalerweise mit vorinstallierter Malware. Raubkopierte Software ist eine einfache Möglichkeit für Hacker, ihre Malware zu verbreiten.
Wenn Sie es installieren, wird die Malware aktiviert und infiziert Ihre Website. Es ist am besten, sich von solcher Software fernzuhalten.
5. Löschen Sie inaktive Themes und Plugins
Es ist üblich, ein Plugin zu installieren und es jahrelang komplett zu vergessen. Aber diese Gewohnheit kann Ihre Website Hackern aussetzen. Je mehr Plugins und Themes Sie auf Ihrer Website installiert haben, desto größer ist die Wahrscheinlichkeit, dass Schwachstellen auftauchen und Hacker diese ausnutzen.
Wir empfehlen, nur die von Ihnen verwendeten Plugins und Themes zu behalten. Löschen Sie den Rest und machen Sie Ihre Website sicherer. Scannen Sie auch regelmäßig Ihre bestehenden Themes und Plugins.
Technische Vorbeugungsmaßnahmen
Diese Maßnahmen erfordern möglicherweise etwas mehr Wissen über das Innenleben von WordPress. Heutzutage gibt es jedoch für alles ein Plugin. Sie müssen sich also keine Gedanken über die Komplexität machen, die mit der Umsetzung dieser Maßnahmen verbunden ist. Wir machen es einfach!
1. Ändern Sie den Standardnamen der Datenbanktabelle
Ihre WordPress-Site besteht aus Dateien und einer Datenbank. In Ihrer Datenbank gibt es standardmäßig 11 Tabellen. Jede Tabelle enthält verschiedene Daten und Konfigurationen. Diese Tabellen werden mit dem Präfix „wp_“ benannt. Der Name der Tabellen kann also wp_options, wp_users, wp_meta sein. Sie bekommen die Drift.
Diese Namen sind auf allen WordPress-Seiten gleich und Hacker wissen das. Hacker wissen, welche Tabelle welche Art von Daten speichert. Wenn Hacker schädliche Skripte auf Ihrer Website einfügen, wissen sie, wo das Skript gespeichert wird. Mit einer einfachen Methode können sie SQL-Befehle ausführen, um böswillige Aktivitäten auszuführen.
Wenn Sie jedoch den Namen der Tabelle ändern, kann dies Hacker davon abhalten, herauszufinden, wo sich die Skripte befinden. Wenn Hacker also versuchen, SQL-Codes in Ihre Datenbanktabellen einzuschleusen, können sie den Tabellennamen nicht herausfinden.
Sie können dies tun, indem Sie ein Plugin wie Change Table Prefix oder Brozzme verwenden. Installieren Sie einfach einen davon auf Ihrer Website und folgen Sie den Schritten.
Du kannst dies auch manuell tun, indem du deine wp-config-Datei bearbeitest. Ein Wort der Vorsicht – ein kleiner Fehltritt hier könnte zu Datenbankfehlern und Fehlfunktionen der Website führen. Erstellen Sie eine Sicherungskopie, bevor Sie fortfahren.
- Gehen Sie zu Ihrem Hosting-Konto > cPanel > Datei-Manager.
- Greifen Sie hier auf den Ordner public_html zu und klicken Sie mit der rechten Maustaste auf die Datei wp-config.
- Wählen Sie Bearbeiten und suchen Sie den folgenden Code
„$table_prefix = 'wp_';“ - Ersetzen Sie es durch –
„$table_prefix = 'test_';“
Sie können ein beliebiges Präfix Ihrer Wahl auswählen. Hier haben wir „test_“ als neuen Datenbanknamen gewählt. Sobald dies erledigt ist, können Hacker ihre SQL-Befehle nicht mehr finden.
2. Kontrollfeldeingaben und Datenübermittlungen
Sie können alle Eingabefelder auf Ihrer Website so konfigurieren, dass nur bestimmte Datentypen akzeptiert werden. Beispielsweise sollte ein Namensfeld nur alphanumerische Eingaben (Buchstaben) zulassen, da es keinen Grund gibt, warum hier numerische Zeichen eingegeben werden sollten. Ebenso sollte ein Kontaktnummernfeld nur Ziffern akzeptieren.
Sie können die Funktion sanitize_text_field() verwenden, die die Benutzereingabe bereinigt. Diese Eingabevalidierung stellt sicher, dass Eingaben, die nicht korrekt oder einfach nur gefährlich sind, blockiert werden können.
3. Härten Sie Ihre WordPress-Website
Dies ist einer der wichtigsten Schritte, die Sie unternehmen können, um Ihre WordPress-Site vor SQL-Injection-Angriffen zu schützen. Was ist Website-Härtung?
Eine WordPress-Website bietet Ihnen viele Funktionen, die Sie beim Betrieb der Seite unterstützen. Die Mehrheit der Menschen nutzt jedoch viele dieser Funktionen nicht. WordPress.org empfiehlt, einige davon zu deaktivieren oder zu entfernen, wenn Sie sie nicht verwenden. Dies verringert die Wahrscheinlichkeit von Angriffen, da es weniger Elemente gibt, die Hacker ausprobieren können!
Einige WordPress-Härtungsmaßnahmen sind:
- Deaktivieren des Dateieditors
- Deaktivieren von Plug-in- oder Theme-Installationen
- 2-Faktor-Authentifizierung implementieren
- Begrenzung der Anmeldeversuche
- Ändern von WordPress-Sicherheitsschlüsseln und Salts
- Blockieren der PHP-Ausführung in unbekannten Ordnern
Um diese Maßnahmen umzusetzen, können Sie ein Plugin wie MalCare verwenden, mit dem Sie dies mit nur wenigen Klicks erledigen können.
Oder du kannst es manuell implementieren, indem du unserem Guide on WordPress Hardening folgst.
Damit sind wir am Ende der Verhinderung von SQL-Injection-Angriffen angelangt. Wenn Sie die Maßnahmen umgesetzt haben, die wir in diesem Spickzettel zur SQL-Injektion besprochen haben, ist Ihre Website sicher
[ss_click_to_tweet tweet=“SQL-Injection-Angriffe können verhindert werden! Verwenden Sie diesen Leitfaden, um die richtigen Sicherheitsmaßnahmen auf Ihrer WordPress-Seite zu implementieren.“ content=““ style=“default“]
Abschließende Gedanken
Vorbeugen ist wirklich besser als heilen. SQL-Injection-Angriffe können unnötigen Stress und erhebliche finanzielle Belastungen verursachen.
Die meisten der heute besprochenen Maßnahmen lassen sich durch den Einsatz von Plugins einfach umsetzen. Sie brauchen sich also keine Sorgen zu machen, wenn Sie nicht technisch versiert sind! Du kannst dich trotzdem schützen!
Neben der Umsetzung dieser Maßnahmen empfehlen wir dringend, MalCare auf Ihrer Website zu aktivieren. Seine Firewall schützt Ihre Website aktiv vor Angriffen. Es scannt Ihre Website jeden Tag, um nach Hackversuchen und Malware auf Ihrer Website zu suchen.
Sie können es sich als Ihren Website-Sicherheitsbeamten vorstellen, der Ihre Website überwacht und die bösen Jungs fernhält. Sie können sich darauf verlassen, dass Ihre Website geschützt ist.
Verhindern Sie Hack-Angriffe mit unserem MalCare Security Plugin!