How Does an SQL Injection Attack Work? Examples & Types

Nov 23, 2021
4 minute read
ServerWatch Inhalte und Produktempfehlungen sind redaktionell unabhängig. Wir können Geld verdienen, wenn Sie auf Links zu unseren Partnern klicken. Mehr erfahren

Ein SQL-Injection-Angriff (SQLi) zählt heute zu den größten Bedrohungen für die Datenintegrität und Vertraulichkeit und ermöglicht Angreifern den Zugriff auf geschützte Daten, für den sie nicht autorisiert sind. In diesem Artikel geht es um SQLi und die Funktionsweise dieser Angriffe sowie um Typen und Beispiele.

Was ist eine SQL-Injection?

SQL-Injection oder -Einschleusung ist eine bösartige Angriffstechnik, die Schwachstellen von SQL-basierten Anwendungen ausnutzt. Bei SQLi schleusen Hacker beliebigen Code in SQL-Abfragen ein, wodurch sie in einer Datenbank gespeicherte Datensätze direkt hinzufügen, ändern und löschen können. SQLi-Angriffe können jede Webanwendung oder Website betreffen, die mit einer SQL-Datenbank arbeitet, etwa MySQL, SQL Server, Oracle und andere.

Hacker schleusen beliebigen Code in SQL-Abfragen ein, wodurch sie in einer Datenbank gespeicherte Datensätze direkt hinzufügen, ändern und löschen können.

Die ersten öffentlichen Diskussionen über SQLi begannen 1998 mit Jeff Forristal. In einem Interview über SQLi sagte Forristal: „Ich kann die Funktionsweise von SQL vollständig verändern.“ 2017 führte das Open Web Application Security Project (OWASP) Injection als größte Bedrohung für verwundbare Webanwendungen auf.

Hacker können SQLi-Angriffe nutzen, um unbefugt auf sensible Daten wie persönliche Informationen, Geschäftsdaten, Kundendaten oder Geschäftsgeheimnisse zuzugreifen. SQLi-Angriffe ermöglichen die Ausführung bösartiger SQL-Anweisungen, die den Datenbankserver hinter einer Webanwendung steuern können.

Angreifer können SQL-Schwachstellen nutzen, um die Anwendungssicherheit zu umgehen. Außerdem können sie Autorisierung und Authentifizierung einer Webanwendung umgehen, um Daten aus der gesamten Datenbank abzurufen.

Mehr dazu: Die besten Tools zur Überwachung und Leistungsoptimierung von SQL Server 2022

Advertisement

Wie funktioniert ein SQL-Injection-Angriff?

SQL (Structured Query Language) ist eine standardisierte Programmiersprache zur Verwaltung von Daten in relationalen Datenbanken. Ein SQLi-Angriff besteht aus dem Einschleusen oder Einfügen einer SQL-Abfrage über Eingabedaten. Die SQL-Befehle werden in eine Eingabe der Datenebene eingeschleust, die die Ausführung vordefinierter SQL-Befehle angreift.

Ein SQLi-Angriff besteht aus dem Einschleusen oder Einfügen einer SQL-Abfrage über Eingabedaten.

Für einen SQLi-Angriff suchen Angreifer nach einer verwundbaren Eingabe auf einer Website oder in einer Webanwendung. Anschließend nutzen sie diese Schwachstelle aus, indem sie Benutzereingaben in Form einer SQL-Abfrage verwenden. ​Der Angreifer führt einen speziell erstellten SQL-Befehl als Cyberangriff aus. Der Code liefert eine Antwort, die klare Rückschlüsse auf den Aufbau der Datenbank zulässt und vollständigen Zugriff auf die Datenbank ermöglicht.

Die mit SQLi durchgeführten Angriffe können je nach Typ der Datenbank-Engine variieren, aber alle SQLi-Angriffe funktionieren mit dynamischen SQL-Anweisungen. SQLi und seine Varianten können schwer zu durchschauen sein.

Zu den gängigen SQLi-Varianten gehören:

  • Benutzereingabebasierte SQLi
  • Cookie-basierte SQLi
  • Auf HTTP-Headern basierende SQLi
  • SQLi zweiter Ordnung

Mehr dazu auf eSecurity Planet: So verhindern Sie SQL-Injection-Angriffe im Jahr 2021

Beispiele für SQL-Injection-Angriffe

Ein SQLi-Angriff zählt zu den häufigsten Angriffstechniken, daher gibt es zahlreiche Beispiele. Im Folgenden werden einige bekannte SQLi-Angriffe vorgestellt.

  • 2002 entdeckte Jeremiah Jacks, dass Guess.com für einen SQLi-Angriff anfällig war. Dadurch konnte der Angreifer eine entsprechend präparierte URL erstellen, um jeden Namen, jede Kreditkartennummer und jedes Ablaufdatum aus der Kundendatenbank mit mehr als 200.000 Einträgen abzurufen.
  • 2007 wurde die Microsoft-UK-Website manipuliert – von einem Cyberkriminellen, der SQLi verwendete.
  • 2010 wurde während der schwedischen Parlamentswahl versucht, eine SQLi durchzuführen – indem SQL-Befehle als Teil einer schriftlichen Stimmabgabe von Hand eingegeben wurden.
  • 2015 versuchte eine SQLi-Attacke, Kundendaten zu stehlen – von den Servern des britischen Telekommunikationsunternehmens TalkTalk. Der Angreifer nutzte die Schwachstelle in einem älteren Webportal aus.
  • 2021 stahl ein Angreifer 70 Gigabyte an Daten von der rechtsextremen Website Gab mithilfe eines SQLi-Angriffs. Gabs eigener CTO Fosco Marotto hatte die Schwachstelle in die Codebasis von Gab eingebaut.
Advertisement

Mehr dazu bei CIO Insight: Die größten Cybersicherheitsbedrohungen für Unternehmen

Arten von SQL-Injections

SQLi kann anhand der Methoden klassifiziert werden, die für den Zugriff auf Backend-Daten verwendet werden, sowie anhand des möglichen Schadens. SQL-Injections werden üblicherweise in drei Hauptkategorien eingeteilt:

  • In-Band-SQLi (klassisch)
  • Inferenzielle SQLi (Blind)
  • Out-of-Band-SQLi

In-Band-SQLi (klassisch)

In-Band-SQLi (klassisch) ist eine der häufigsten Arten von SQLi-Angriffen. Der Angreifer verwendet denselben Kommunikationskanal, um den Angriff zu starten und die Ergebnisse abzurufen. In-Band-SQLi hat zwei Untervarianten.

  • Fehlerbasierte SQLi: Diese Technik nutzt vom Datenbankserver ausgegebene Fehlermeldungen , um Informationen über die Struktur der Datenbank zu sammeln.
  • UNION-basierte SQLi: Diese Technik nutzt den SQL-Operator UNION, um die Ergebnisse von SELECT-Anweisungen zu einer einzigen HTTP-Antwort zusammenzuführen. Die Daten aus der Antwort kann der Angreifer anschließend nutzen.

Inferenzielle (blinde) SQLi

Inferenzielle (blinde) SQLi basiert auf den Antwort- und Verhaltensmustern des Servers. Daher ist ihre Ausführung typischerweise langsamer, kann aber größeren Schaden anrichten. Ein Angreifer kann Payloads an den Server senden und dessen Antworten und Verhalten beobachten, um die Struktur der Datenbank zu rekonstruieren. Inferenzielle SQLi hat zwei Untervarianten.

  • Boolesche SQLi: Ein Angreifer sendet eine SQL-Abfrage an die Datenbank, die die Anwendung zwingt, ein Ergebnis zurückzugeben. Abhängig vom Ergebnis werden die Informationen in der HTTP-Antwort geändert oder nicht.
  • Zeitbasierte SQLi: Diese Technik basiert auf dem Senden einer SQL-Abfrage, die die Datenbank zwingt, vor einer Antwort eine bestimmte Zeitspanne (in Sekunden) zu warten. Die Antwortzeit zeigt an, ob das Ergebnis der Abfrage WAHR oder FALSCH ist.
Advertisement

Out-of-Band-SQLi

Sie ist die seltenste Form von SQLi-Angriffen. Bei der Out-of-Band-SQLi-Technik veranlasst der Angreifer den Datenbankserver, DNS- oder HTTP-Anfragen zu stellen und dabei Daten an ihn zu übermitteln. Dieser Angriff kommt zum Einsatz, wenn ein Angreifer nicht denselben Kanal verwenden kann, um den Angriff zu starten und Ergebnisse abzurufen. Out-of-Band-SQLi bietet eine Alternative zu inferenziellen, zeitbasierten Techniken, insbesondere wenn die Antworten eines Servers nicht stabil sind.

Out-of-Band-SQLi bietet eine Alternative zu inferenziellen, zeitbasierten Techniken, insbesondere wenn die Antworten eines Servers nicht stabil sind.

Jedes Unternehmen muss sich darauf konzentrieren, seine wertvollen Informationen vor SQLi-Angriffen zu schützen. Es stehen zahlreiche automatische Erkennungstools zur Verfügung, mit denen sich diese Schwachstellen testen lassen. Ein mehrschichtiger Ansatz, der datenzentrierte Strategien umfasst, kann die optimale Verteidigung gegen SQLi-Angriffe darstellen. Dabei steht der Schutz der Daten selbst sowie der Anwendungen und des Netzwerks im Mittelpunkt.

Lesen Sie als Nächstes: Best Practices für die Optimierung der SQL-Leistung

Al Mahmud Al Mamun

Al Mahmud Al Mamun is a writer for TechnologyAdvice. He earned his BSc in Computer Science and Engineering from Prime University, Bangladesh. He attained more than twenty-five diploma courses and a hundred certificate courses. His expertise and research interests include Artificial Intelligence, Artificial Neural Networks, Convolutional Neural Networks, Intelligent Transportation Systems, Information Technology, Computer Vision, Psychology, and Astronomy.

ServerWatch Logo

ServerWatch is a top resource on servers. Explore the latest news, reviews and guides for server administrators now.

Eigentum von TechnologyAdvice. © 2026 TechnologyAdvice. Alle Rechte vorbehalten

Werbetreibenden-Offenlegung: Einige der auf dieser Website erscheinenden Produkte stammen von Unternehmen, von denen TechnologyAdvice eine Vergütung erhält. Diese Vergütung kann beeinflussen, wie und wo Produkte auf dieser Website erscheinen, einschließlich beispielsweise der Reihenfolge, in der sie erscheinen. TechnologyAdvice schließt nicht alle Unternehmen oder alle auf dem Marktplatz verfügbaren Produkttypen ein.