SQL-Injection-(SQLi-)Schwachstellen sind Sicherheitslücken in (Web-)Anwendungen. Sie ermöglichen es Angreifern, Datenbank-Abfragen einer Anwendung zu manipulieren. Dadurch kann ein Angreifer an Daten gelangen, die er normalerweise nicht abrufen kann. Das können Daten von anderen Benutzern sein oder auch – je nachdem, wie schwerwiegend die Lücke ist – alle anderen Daten, auf welche die Anwendung selbst zugreifen kann. Schreibzugriffe auf Daten sind ebenfalls möglich. In solchen Fällen können Angreifer die Inhalte oder das Verhalten einer Anwendung dauerhaft verändern.
Diese Schwachstellen haben ihren Ursprung überwiegend in unzulänglicher Programmierung. Steuerzeichen, die in der Datenbank-Abfragesprache SQL (Structured Queried Language) verwendet werden, müssen durch die Anwendung speziell behandelt werden – was oft und gerne vergessen wird. Angreifer, die solche Steuerzeichen geschickt verwenden, können die Datenbank-Abfragen manipulieren. Wenn die Anwendung die Steuerzeichen nicht korrekt behandelt, kann es zu unberechtigten Zugriffen auf die Daten in der Datenbank kommen.
Jede Organisation, die eigene oder fremdentwickelte Software einsetzt, ist potenziell anfällig für die beschriebenen Schwachstellen. Der Grund dafür ist, dass Datenbanken und die Datenbank-Sprache SQL sehr weit verbreitet sind und häufig Fehler bei der Programmierung gemacht werden.
Benutzer können SQLi-Lücken nicht ohne Weiteres erkennen. Es braucht Spezialisten samt entsprechender Werkzeuge, um die Anwendungen auf solche Schwachstellen zu testen. Gerne beraten wir Sie in einem kostenlosen Erstgespräch hinsichtlich einer sinnvollen Präventionsstrategie, um solche und andere Schwachstellen proaktiv zu erkennen.