Ziele und Folgen
Ein erfolgreicher Angriff kann folgende Folgen haben:Datenmanipulation
Datenmanipulation
- Datensätze hinzufügen
- Datensätze ändern
- Datensätze löschen
- ganze Tabellen oder Datenbanken verändern
Datendiebstahl
Datendiebstahl
- Zugriff auf sensible Daten (z. B. Benutzerkonten, Passwörter)
- Auslesen vertraulicher Informationen
Rechteausweitung
Rechteausweitung
- Angreifer können sich Administratorrechte verschaffen
- Rechte anderer Nutzer ändern oder entziehen
Schadcode platzieren
Schadcode platzieren
- Ersetzen von Webseiten
- Einfügen von schädlichen Dateien
- Ausspionieren von Nutzern oder Systemdaten
Ursachen
SQL-Injection entsteht durch unsichere Programmierung, z. B.:- Fehlende Hochkommas in SQL-Abfragen
- Keine Typenprüfung von Eingaben
- Keine Längenprüfung
- Keine Maskierung von Sonderzeichen (z. B. ’ oder —)
- Direkte Übernahme von Benutzereingaben in SQL-Befehle
Angriffsformen
Angreifer verändern bestehende SQL-Abfragen, um:- logische Bedingungen zu manipulieren
- Teilabfragen zu entfernen
- neue SQL-Befehle einzufügen
- Fehlermeldungen zu erzeugen
- den Datenbankprozess zu beeinflussen
Beispiel
Folgender Code wird auf eine Login-Seite ausgeführt:‘a’=‘a’ immer wahr ist, wird die Bedingung erfüllt. Der Angreifer wird eingeloggt, ohne das Passwort zu kennen.