Dies ist eine alte Version des Dokuments!
LU10b - SQLi Angriffsvarianten
Lernziele
- Die Grundlagende Funktionsweise von SQLi erklären und demonstrieren können
- Angriffsvektoren für SQLi nennen können.
Grundlegende Funktionsweise
Die Angriffstechnik SQLI verwendet Eingabemöglichkeiten aller Art (Angriffsvektoren) als Möglichkeit zu bestehenden SQL-Befehl zusätzliche einzuflechten. In der nachfolgenden Abbildung wird gezeigt, wie der im Programmcode bestehende SQL-Befehl durch eine vom Angreifer im Eingabefeld eingeschobenen SQL-Befehlserweiterung so verändert wird, dass der neue SQL-Befehl gültig und bleibt, die Gesamtlogik des SQL-Befehl aber massiv verändert wird.
Der neue Select-Befehl hat neu als Filterkriterium
…user_id=’’ OR 1=1’
Der erste Teil des Filters hat den Wahrheitswert FALSE, der zweite Teil hingegen TRUE. Die Datenbanklogik verknüpft diese beiden Werte durch eine OR-Verknüpfung, was logischer weise zu einem Filterwert TRUE führt. Alle Werte in der betroffenen Tabelle haben, sobald sie vorhanden sind, den Wert TRUE. Also wird der gesamte Datenbankinhalt herausgegeben.