Definition

SQL Injection

SQL Injection ist ein Security-Exploit, bei dem der Angreifer eine Anfrage über ein Web-Formular per Structured Query Language (SQL) erweitert, um auf Ressourcen zuzugreifen oder Daten zu verändern. Eine SQL-Abfrage ist eine Anforderung, die eine Aufgabe in einer Datenbank ausführt. 

Werden beispielsweise Anmeldeinformationen in einem Web-Formular eingetragen, überprüft das System diese Daten mit Hilfe einer SELECT-Abfrage. Stimmen die eingetragenen Werte überein, wird der Nutzer eingelassen; schlägt der Abgleich fehl, wird der Nutzer abgewiesen. 

Allerdings können Angreifer neben Namen und Kennwort oftmals zusätzliche Befehle eingeben, die nicht immer ausgefiltert werden. Angreifer können diesen Umstand nutzen, um SQL-Befehle über diese Eingabefelder abzusetzen und angeschlossene Datenbanken zu manipulieren. Im schlimmsten Fall können sie so die komplette Datenbank herunterladen oder auf andere Weise manipulieren.

Die Gefahr eines Angriffs durch SQL-Injection-Exploits steigt vor allem dank automatisierter Programme. In der Vergangenheit mussten Angreifer die jeweiligen Abfragen per Hand eintippen, inzwischen gibt es Programme, die automatisiert Web-Applikationen im Internet suchen und eine ganz Batterie an SQL-Statements ausprobieren, bis vorhandene Schwachstellen gefunden und ausgenutzt werden können.

Security-Experten gehen davon aus, dass SQL-Injection-Schwachstellen, ähnlich wie Cross-Site-Scripting-Lücken, vor allem durch mangelndes Sicherheitsbewusstsein bei der Entwicklung der Web-Applikationen entstehen. Um den Schutz von Webseiten zu gewährleisten, sollte die Sicherheit daher bereits während der Entwicklung Thema sein, etwa indem Eingabemöglichkeiten genau überprüft und bereinigt werden.

Diese Definition wurde zuletzt im Oktober 2014 aktualisiert

Erfahren Sie mehr über Enterprise Resource Planning (ERP)