Securam Consulting Logo

Das große IT-Security-Glossar

Definition:

SQL Injection


Was ist SQL Injection?

SQL Injection (SQLi) ist eine kritische Web-Sicherheitsschwachstelle, bei der schädlicher SQL-Code in Eingabefelder oder URLs eingebracht wird, um unautorisiert auf Datenbanken zuzugreifen, Daten zu manipulieren oder Authentifizierungen zu umgehen.

SQLi entsteht durch unsichere Verarbeitung von Benutzereingaben – typischerweise durch String-Konkatenation in SQL-Statements. Angreifer können über gezielte Eingaben – z. B. OR 1=1;-- – vollständige Tabelleninhalte extrahieren, Datensätze löschen oder Admin-Rechte erlangen.


Wichtige SQL-Injection-Ressourcen

  • SQLi-Typen:
    Error-based, Union-based, Time-based blind – je nach Antwortverhalten der Anwendung.

  • Prepared Statements & Stored Procedures
    → Parametrisierte Abfragen verhindern das Einschleusen manipulativer SQL-Befehle.

  • ORM-Frameworks (z. B. Hibernate, Entity Framework)
    → Objektorientierte Abstraktion schützt vor direkten SQL-Manipulationen.

  • DAST-Tools (z. B. SQLMap, Burp Suite)
    → Automatisierte dynamische Tests zur Identifikation und Ausnutzung potenzieller Lücken.

  • IDS/Logging
    → Intrusion Detection Systeme und Logging helfen, verdächtige Datenbankzugriffe zu erkennen.


Anwendung in der Praxis

  • Login-Bypass: Über manipulierte Eingaben können Authentifizierungsmechanismen umgangen werden.

  • Datendiebstahl: SELECT-Statements werden erweitert, um sensible Informationen wie Passwörter auszulesen.

  • Datenmanipulation: Angreifer können INSERT, UPDATE oder DELETE ausführen.

  • Rechteausweitung: Zugriffe auf administrative Funktionen durch Eskalation via SQLi.

  • Schwachstellenanalyse: Security-Scans und Code-Reviews identifizieren gefährliche Query-Strukturen.


Verwandte Begriffe


Beispiel aus der Praxis

In einem Online-Bestellformular ist das Feld „Kundennummer“ direkt in eine SQL-Abfrage eingebunden. Ein Angreifer gibt als Input 105 OR 1=1-- ein. Die Anwendung gibt daraufhin nicht nur die Daten des Kunden mit ID 105, sondern alle Kunden zurück. Nach der Entdeckung durch einen DAST-Scan mit SQLMap führt das Entwicklungsteam parametrisierte Queries ein, ergänzt Logging und aktiviert Alerts im IDS-System bei auffälligen SQL-Mustern.