Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
modul:m183:learningunits:lu10:02 [2025/09/19 08:52] – vdemir | modul:m183:learningunits:lu10:02 [2025/09/19 09:22] (aktuell) – vdemir | ||
---|---|---|---|
Zeile 4: | Zeile 4: | ||
- Die Grundlagende Funktionsweise von SQLi erklären und demonstrieren können | - Die Grundlagende Funktionsweise von SQLi erklären und demonstrieren können | ||
- Angriffsvektoren für SQLi nennen können. | - Angriffsvektoren für SQLi nennen können. | ||
- | - | + | - Nennen können wie SQLi gegen die das CIA-Triade durchgeführt wird |
- | | + | |
===== Grundlegende Funktionsweise ===== | ===== 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. | 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 | Der neue Select-Befehl hat neu als Filterkriterium | ||
Zeile 16: | Zeile 16: | ||
| | ||
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, | 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, | ||
+ | |||
+ | ===== CIA-Triad = Drei Dimensionen der IT-Sicherheit ===== | ||
+ | Eine Applikation im Business-Umfeld hat grundsätzlich drei Dimensionen bzw. Ziele der Sicherheit zu gewährleisten: | ||
+ | |||
+ | * **Vertraulichkeit: | ||
+ | * **Verfügbarkeit: | ||
+ | * **Integrität: | ||
+ | |||
+ | Durch die Attacke //SQLi// wird im besten Falle eine, und schlimmsten Falle alle drei Dimension dieser Sicherheitsziele verletzt. | ||
+ | |||
+ | ==== Angriff auf die Vertraulichkeit ===== | ||
+ | Ein Angriff auf die Vertraulichkeit der Daten bedeutet, dass vertrauliche Informationen in die falschen Hände geraten. Die Absicht möglicher Angreifer ist es zusätzliche Informationen zu erbeuten. Beispiele solcher Informationen wäre spezifische | ||
+ | |||
+ | * Firmengeheimnisse | ||
+ | * Zugangsdaten | ||
+ | * Creditkarten-Informationen | ||
+ | * Etc. | ||
+ | |||
+ | Eine-SQLI, die auf die Vertraulichkeit abzielt hönnte wie folgt aussehen: | ||
+ | |||
+ | ^Original-SQL-Befehl ^ Ergänzter SQL-Befehl ^ | ||
+ | | SELECT author, subject, text FROM artikel WHERE ID=42; | SELECT author, subject, text FROM artikel WHERE ID=42 <color # | ||
+ | |||
+ | ===== Angriff auf die Verfügbarkeit ===== | ||
+ | Je nach Geschäftsumfeld, | ||
+ | |||
+ | ^Original-SQL-Befehl ^ Ergänzter SQL-Befehl ^ | ||
+ | | SELECT * FROM user WHERE ID=105; | SELECT * FROM user WHERE ID=105;< | ||
+ | |||
+ | ===== Angriff auf die Integrität ===== | ||
+ | Ein Angriff auf die Integrität der Daten bedeutet, dass die Verlässlichkeit der Informationen verletzt wurde. Hier werden Informationen, | ||
+ | |||
+ | ^Original-SQL-Befehl ^ Ergänzter SQL-Befehl ^ | ||
+ | | SELECT author, subject, text FROM artikel WHERE ID=42; | SELECT author, subject, text FROM artikel WHERE ID=42;< | ||
---- | ---- | ||
[[https:// | [[https:// |