SQL Injection: Definition, Schaden & Verteidigung

Erfahren Sie, wie die adaptiv Multi-Faktor-Authentifizierung Datenschutzverletzungen, schwache Passwörter und Phishing-Angriffe bekämpft.

Aktualisiert: 07. November 2024 Lesezeit: ~

 

Dieser Artikel wurde maschinell übersetzt.

 

Eine SQL-Injection ist eine Angriffsformel. Ein Hacker stellt sich zwischen eine private Konversation zwischen einem Gerät (z. B. einem Computer) und einem Datenspeicherzentrum (z. B. einem Server).

Sobald der Hacker eindringt, kann diese Person fast alles ansehen, ändern oder löschen. Und die Folgen könnten katastrophal sein.

Was ist eine SQL-Injection?

Jede Website ist auf Code angewiesen. Blogger erzählen uns, dass Programmieren irgendwann zu einer obligatorischen Fähigkeit werden wird. Jeder wird IT machen müssen, um in der modernen Gesellschaft zu überleben. Aber im Moment nutzen Menschen, die programmieren können, diese Fähigkeiten, um einen grundlegenden Teil des Betriebs einer Website zu manipulieren. 

Die meisten modernen Websites laufen auf Datenbanken, einschließlich solcher, die:

  • Verkaufen Sie Produkte. 
  • Anmeldung zulassen. 
  • Blog veröffentlichen.

Eine Website wie diese basiert auf SQL (Structured Query Language). Programmierer verwenden diese Sprache, um die Website bei der Verwaltung und Bereitstellung von Daten zu unterstützen. Wann immer jemand mit einer solchen Website interagiert, werden seine Anfragen und Befehle über SQL an die Website gesendet. Ein Hacker verdreht diese Sprache während eines SQL-Injection-Angriffs für einen neuen Zweck. 

Ein Hacker kann fast jeden SQL-Befehl manipulieren, aber häufige Ziele sind:

  • WHERE, wenn Sie nach dem Speicherort der Daten suchen, die Sie auswählen möchten
  • UPDATE, bei dem Sie eine Datenaktualisierung anfordern 
  • INSERT, wo Sie neue Daten zulassen 
  • Auswählen, bei der Sie eine Art von Daten anhand des Namens identifizieren oder Daten bestellen

Ein Hacker kann SQL-Injection für Folgendes verwenden:

  • Jagen. Ein Hacker, der SQL-Daten ändert, könnte etwas finden, das Sie verborgen halten möchten. 
  • Zugang. Ein Hacker könnte die Logik Ihrer Site ändern oder Daten aus Ihrer Datenbank abrufen. Dadurch könnte jemand alle Benutzernamen und Passwörter einsehen und sich unbefugten Zugriff verschaffen. 
  • Plan. Ein Hacker könnte untersuchen, wie Ihre Datenbank programmiert ist und wo sie gespeichert ist. Diese Forschung könnte beim nächsten Angriff verwendet werden.

Es gibt zwei Haupttypen von SQL-Injection, die da sind.

  • Erste Bestellung. Eine Anwendung bietet die Möglichkeit, Daten zu geben. Der Benutzer gibt Code ein, den das System auf unsichere Weise verarbeitet. 
  • Zweite Ordnung. Die Anwendung nimmt Eingaben entgegen und speichert IT für später (z. B. durch Platzieren von IT in einer Datenbank). Wenn die Anwendung eine andere Anfrage erhält, werden diese seltsamen Daten abgerufen und auf unsichere Weise eingebunden.

Ein Beispiel für eine SQL-Injection

Lassen Sie uns nur eine Art von SQL-Angriff durchgehen, damit Sie sehen können, wie sich die IT entwickelt. Entwickler können Codezeilen freigeben, sodass Sie die Ausführung in Echtzeit sehen können. Aber wir werden unsere Definition für alle unsere Leser auf einem hohen Niveau halten. 

In diesem Beispiel heißt eine bekannte Person in Ihrer Datenbank Johnson.

Ein Hacker greift auf Ihre Website zu und diese Person wird aufgefordert, sich anzumelden. 

Die Person gibt das Wort „Johnson“ nicht in das Feld ein. Stattdessen gibt die Person eine Codezeichenfolge ein, beispielsweise „ODER 1 ist gleich 1“.

Ihr System interpretiert dies als Befehl, und die IT-Abteilung durchsucht die gesamte Datenbank, um die IT zu lösen. Wenn der Hacker Code geschrieben hat, der stark genug ist, könnte der Server sogar dazu verleitet werden, den Inhalt von allem in Ihren Datentabellen auszuspucken. 

Die Website Gab war einem solchen Angriff ausgesetzt, und Hacker verschafften sich Zugang zu all diesen:

  • Öffentliche Beiträge 
  • Private, Okta-Community-zu-Okta-Community-Beiträge 
  • Gruppenbeiträge 
  • Profilinformationen 
  • Benutzernamen 
  • Passwörter 

Jede Person auf Gab, die eine ähnliche Kombination aus Benutzername und Passwort auf einer anderen Website verwendete, war einem noch größeren Risiko ausgesetzt. Hacker hätten diese Anmeldedaten auf anderen Seiten ausprobieren und sich einen noch tieferen Zugang zu ihrem Online-Leben verschaffen können. 

Können Sie einen SQL-Injection-Angriff verhindern?

Es ist schnell und effizient, eine Website über Datenbanken zu verwalten. Sie benötigen keinen robusten Server, um alle Ihre Seiten zu verarbeiten, und der Inhalt kann sich auf Knopfdruck ändern. Sie müssen jedoch darauf achten, eine Website zu schützen, die mit dieser Technologie erstellt wurde. 

Erkennen Sie Ihre Anfälligkeit für SQL-Injection-Angriffe, indem Sie Ihre eigene SQL-Codierung einreichen. Suchen Sie nach ungewöhnlichen Antworten, die darauf hinweisen, dass Ihr Server diese Elemente als Befehle interpretiert. 

Erwägen Sie dann die Entwicklung eines Satzes zulässiger Zeichen und Befehle. Lassen Sie die Leute nicht alles in Ihre Felder eingeben, was sie möchten. Beschränken Sie die Eingabemöglichkeiten auf Begriffe, von denen Sie wissen, dass sie nicht als Code betrachtet werden können.  

Referenzen

Programmieren im Jahr 2016 ist wie Lesen im Jahr 1816. (Oktober 2016). Prenda. 

5 wichtige Punkte zu datenbankgestützten Websites. (Juni 2016). Geschäft 2 Community. 

Datenbankgestützte Websites. (Oktober 2003). Zeitschrift des Verbandes der Medizinischen Bibliotheken. 

Der rechtsextreme Platform Gab bestätigt, dass IT gehackt wurde. (März 2021). Sicherheit.

Spickzettel zur Verhinderung von SQL-Injection. OWASP.

Setzen Sie Ihre Identity Journey fort