Service
Tech-Blog
Zum Blog
Kategorien
Anfrage

Was ist SQL-Injection?

Zuletzt aktualisiert: 29.07.2026

Eine SQL-Injection ist ein Angriff auf Anwendungen, die mit relationalen Datenbanken arbeiten. Dabei werden manipulierte Eingaben so in eine SQL-Abfrage eingeschleust, dass sich deren ursprüngliche Bedeutung verändert.

Die Schwachstelle entsteht häufig, wenn eine Anwendung Nutzereingaben direkt mit SQL-Code zusammensetzt. Angreifer können dann versuchen, Abfragen zu erweitern, Bedingungen zu umgehen oder zusätzliche Datenbankbefehle auszuführen.

Welche Folgen kann eine SQL-Injection haben?

Je nach Schwachstelle und Berechtigung des Datenbankkontos können Angreifer folgende Aktionen durchführen:

  • Vertrauliche Daten lesen
  • Datensätze verändern oder löschen
  • Anmeldungen umgehen
  • Interne Strukturen auslesen
  • Weitere Systemfunktionen übernehmen (bei schwerwiegenden Fällen)

Nicht jeder Angriff liefert sichtbare Ergebnisse. Bei einer Blind SQL-Injection werden Informationen beispielsweise aus unterschiedlichen Antwortzeiten oder aus dem Verhalten der Anwendung abgeleitet.

Wie lässt sich SQL-Injection verhindern?

  • Parametrisierte Abfragen verwenden:
    Prepared Statements trennen SQL-Code von den übergebenen Daten. Nutzereingaben können dadurch nicht ohne Weiteres die Struktur der Abfrage verändern.
  • Datenbankrechte begrenzen:
    Das von der Anwendung verwendete Konto sollte nur die Berechtigungen erhalten, die für seinen Zweck erforderlich sind.
  • Eingaben validieren:
    Für Werte, die nicht parametrisiert werden können, etwa bestimmte Tabellen- oder Sortierbezeichnungen, sollte eine feste Liste zulässiger Optionen verwendet werden.
  • Fehler sicher behandeln:
    Detaillierte Datenbankmeldungen gehören in geschützte Protokolle und nicht in die öffentliche Antwort der Anwendung.
  • Regelmäßig testen:
    Code-Reviews, automatisierte Sicherheitsprüfungen und Penetrationstests helfen, unsichere Abfragen frühzeitig zu erkennen.

Reicht eine WAF als Schutz aus?

Eine Web Application Firewall kann bekannte Angriffsmuster erkennen und blockieren, behebt aber nicht die fehlerhafte Abfrage im Quellcode. Angriffe können Regeln umgehen, und legitime Anfragen können fälschlich blockiert werden. Die wichtigste Schutzmaßnahme bleibt daher eine sichere Datenbankanbindung mit konsequenter Parametrisierung.

Sind ORMs automatisch sicher?

Object-Relational Mapper stellen häufig sichere Methoden für parametrisierte Abfragen bereit. Werden jedoch unkontrollierte Eingaben in Rohabfragen, dynamische Filter oder selbst zusammengesetzte SQL-Fragmente übernommen, kann weiterhin eine Schwachstelle entstehen. Auch bei Verwendung eines ORM sind sichere Programmierregeln und Tests notwendig.

Relevante Blogbeiträge
eRecht24 Partnerschaft mit alkima WEB & DESIGN ®

eRecht24: Umfassende Rechtssicherheit im Online-Business

Service-Pakete und Funktionen im Überblick Kostenlose Version Premium-Version Verbesserung der Rechtssicherheit für Webseiten mit eRecht24 und alkima WEB & DESIGN...
Lesezeit: 1 Minute
Zuletzt aktualisiert: 06.08.2024
06.08.2024
Artikel lesen
Kontaktieren Sie uns

Wir beraten Sie gerne und finden die perfekte Lösung für Sie. Lassen Sie sich von unseren Ideen inspirieren!

Footer contact image
Anfrage
Was ist SQL-Injection? Definition und Schutzmaßnahmen