SQL-Injection
Eine Schwachstelle, bei der Benutzereingaben direkt in eine Datenbankabfrage eingefügt werden, sodass ein Angreifer die Abfrage ändern kann, um Daten zu lesen oder zu löschen.
- 01
Warum es wichtig ist
SQL-Injection ist eine der ältesten bekannten Schwachstellen, kommt aber immer noch vor; gelingt sie, können Kundendaten, Passwörter und Bestellungen auf einmal abfließen. Sie tritt besonders in altem, handgeschriebenem Code und in hastig ergänzten Such- oder Filterfunktionen auf. Parametrisierte Abfragen schließen dieses Risiko an der Wurzel.
- 02
Beispiel
Der in das Produktsuchfeld eines Shops eingegebene Text wird direkt in die Abfrage übernommen. Durch Eingabe eines eigens formulierten Ausdrucks bringt der Angreifer statt der Produktliste die Benutzertabelle zum Vorschein.
- 03
Häufiger Fehler
Zu glauben, man sei sicher, weil Eingaben manuell bereinigt oder Anführungszeichen entfernt werden. Der sichere Weg sind parametrisierte Abfragen, bei denen die Eingabe getrennt von der Abfrage übermittelt wird, oder eine vertrauenswürdige Datenbankbibliothek.
- 04
Verwandte Begriffe
Passende Leistungen und Ratgeber
Über Ihr Projekt sprechen.
Erzählen Sie uns Ihren Bedarf; den Umfang klären wir gemeinsam.