Was ist SQL-Injection?
SQL-Injection ist eine Angriffsart, bei der Angreifer Datenbankbefehle in Eingabefelder oder Adressparameter einer Anwendung einschleusen. Wird die Eingabe nicht sauber getrennt, führt die Datenbank den fremden Befehl aus – und gibt Daten preis, verändert oder löscht sie.

SQL-Injection: Definition und Ursache
Webanwendungen speichern Kunden, Bestellungen und Inhalte meist in einer SQL-Datenbank und fragen sie mit SQL-Befehlen ab. Entsteht ein solcher Befehl, indem Benutzereingaben einfach in den Text eingefügt werden, kann ein Angreifer die Struktur des Befehls verändern. Die Datenbank kann Code und Daten dann nicht mehr unterscheiden.
Die Ursache ist fast immer dieselbe: Eingaben aus Formularen, Suchfeldern, Cookies oder Adressparametern werden ungeprüft in Datenbankabfragen eingebaut. SQL-Injection zählt seit Jahren zur Kategorie „Injection“ der OWASP Top 10, obwohl die wirksame Gegenmaßnahme seit Langem bekannt ist. Betroffen sind vor allem ältere Individuallösungen und ungepflegte Plugins.
So funktioniert ein Angriff
Ein Angreifer trägt statt eines Suchbegriffs einen Textbaustein ein, der die ursprüngliche Abfrage verändert, etwa so, dass eine Bedingung immer wahr ist. Damit lassen sich Login-Prüfungen umgehen, Daten aus anderen Tabellen auslesen oder Einträge verändern, im Extremfall sogar löschen. Mit automatisierten Werkzeugen testen Angreifer tausende Seiten auf solche Schwächen; ungefiltert angezeigte Datenbank-Fehlermeldungen erleichtern ihnen die Arbeit.
- Datenabfluss: Kundendaten, Bestellungen oder Zugangsdaten werden ausgelesen
- Manipulation: Preise, Inhalte oder Konten werden verändert
- Umgehung: Anmeldungen werden ohne gültiges Passwort akzeptiert
- Im ungünstigen Fall: Übernahme des Datenbankservers oder weiterer Systeme
Praxisbeispiel: Der alte Shop-Filter
Ein Fachhändler betreibt einen Webshop auf Basis einer individuell programmierten Altlösung. Der Produktfilter baut die Datenbankabfrage direkt aus dem Adressparameter zusammen. Ein Angreifer ändert den Parameter und kann so Tabellen mit Kundendaten abrufen; der Händler bemerkt es erst, als Kunden Betrugsmails mit ihren echten Bestelldaten erhalten. Der Schaden: Vertrauensverlust, Aufwand und möglicherweise Meldepflichten.
Die Lösung ist handwerklich schlicht: Die Abfragen werden auf parametrisierte Statements umgestellt, die Datenbankrechte des Shops eingeschränkt und Fehlermeldungen nach außen verborgen. Eine Web Application Firewall bietet zusätzlichen Schutz, ersetzt die Korrektur im Code aber nicht. Nach dem Vorfall bleibt zu klären, welche Daten betroffen waren.
Schutzmaßnahmen und Umsetzung
Wirksamster Schutz sind Prepared Statements (parametrisierte Abfragen), bei denen Befehl und Daten strikt getrennt bleiben. ORMs und moderne Frameworks nutzen sie standardmäßig, solange man keine Abfragen per Textverkettung baut. Ergänzend helfen Eingabevalidierung nach dem Positivprinzip, ein Datenbankbenutzer mit minimalen Rechten, aktuelle Software und gezielte Sicherheitstests.
Nano Concepts prüft Code und Konfigurationen mit Code-Reviews und Schwachstellenanalysen, behebt Lücken in bestehenden Anwendungen und entwickelt neue Software von Beginn an nach sicheren Standards. Bei älteren Individuallösungen empfiehlt sich oft eine schrittweise Modernisierung statt dauerhafter Notreparaturen, damit die Sicherheit nicht an einzelnen Stellen hängt.
- SQL durch Textverkettung aus Benutzereingaben zusammenbauen
- Datenbankbenutzer mit Administratorrechten für die Website einsetzen
- Detaillierte Datenbankfehler im Browser anzeigen
- Nur auf Eingabefilter („Sonderzeichen entfernen“) vertrauen
- Veraltete Plugins und Altskripte weiterbetreiben
Häufige Fragen zu SQL-Injection
Sehr, weil sie direkten Zugriff auf den Datenbestand eröffnen kann: Kundendaten, Zugangsdaten und Bestellungen lassen sich auslesen oder verändern. Schon eine einzige verwundbare Eingabe reicht. Zugleich ist die Lücke vermeidbar, wenn die Anwendung sauber programmiert ist und Abfragen konsequent parametrisiert werden. Trotzdem gehört sie weiterhin zu den häufig ausgenutzten Schwachstellen.
Ein Code-Review, ein Schwachstellenscan und ein Penetrationstest zeigen es zuverlässig. Auffällig sind Datenbankfehler in der Ausgabe oder seltsame Einträge in den Server-Logs. Wer individuelle Software oder ältere Plugins einsetzt, sollte regelmäßig prüfen lassen.
Sie blockiert viele gängige Angriffsmuster und verschafft Zeit, ersetzt aber nicht die Korrektur im Code. Geschickt verschleierte Angriffe können Regeln umgehen. Der verlässliche Schutz sind parametrisierte Abfragen; die WAF ist eine zusätzliche Schicht und kein Ersatz für saubere Programmierung.
Die Kernsysteme werden laufend geprüft und gepatcht. Lücken entstehen vor allem durch veraltete Versionen, schlecht programmierte Plugins und individuelle Erweiterungen. Deshalb sind zeitnahe Updates, sparsamer Plugin-Einsatz und geprüfte Erweiterungen entscheidend.
Passende Leistungen

IT-Sicherheit für Web
Schwachstellen finden und schließen – für Websites, Shops, Kundenportale und individuelle Webanwendungen.
Mehr erfahren
Schwachstellenanalyse Website
Sicherheitsprüfung Ihrer Website oder Web-App entlang der OWASP Top 10 – mit priorisierter Mängelliste und Behebung.
Mehr erfahren
Software-Modernisierung
Altsysteme übernehmen, absichern und schrittweise auf moderne Technik migrieren – ohne Betriebsunterbrechung und Datenverlust.
Mehr erfahrenVerwandte Begriffe
Relevant für diese Branchen
Passende Magazin-Beiträge

WordPress absichern: Hardening, Updates, Plugins und Backups
Die meisten WordPress-Schwachstellen stecken in Plugins und Themes, nicht im Core. So härten Sie Ihre Installation mit klaren Rechten, einem festen Update-Rhythmus, getesteten Backups und Monitoring.
Weiterlesen
Web-Sicherheit: OWASP Top 10 und pragmatische Checkliste für Teams
Die meisten Sicherheitslücken folgen bekannten Mustern. Mit den OWASP Top 10 als Leitplanke und einer priorisierten Checkliste schließen Sie typische Lücken, bevor sie zum Problem werden.
WeiterlesenDSGVO-konformes Tracking: Consent, Datenflüsse und Vertrauen
Tracking und Datenschutz schließen sich nicht aus: Welche Dienste eine Einwilligung brauchen, wie Sie Datenflüsse dokumentieren und die Technik so umsetzen, dass sie hält, was die Datenschutzerklärung verspricht.
Weiterlesen