Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
modul:m183:learningunits:lu10:01 [2025/09/19 08:07] – vdemir | modul:m183:learningunits:lu10:01 [2025/09/19 08:59] (aktuell) – vdemir | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== LU10a - SQLi Grundlagen ====== | ====== LU10a - SQLi Grundlagen ====== | ||
+ | |||
+ | ===== Lernziele ===== | ||
+ | - Erklären können was eine SQLi ist und welches grundlegende Ziel diese Attacke hat. | ||
+ | - Ursachen nennen können, warum SQLi auch in der Gegenwart ernstgenommen werden muss. | ||
+ | |||
+ | ===== Einleitung ===== | ||
+ | Die // | ||
+ | |||
+ | Ein // | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ===== Bekannte Attacken ===== | ||
+ | |||
+ | Diese nachfolgenden Beispiele zeigen, dass auch professionell erstellte Webapplikationen anfällig auf SQLI-Attacken sind. | ||
+ | |||
+ | * ListenpunktIm Oktober 2014 wturde in den Medien über einen Datenverlust bei der //PSN// (Playstation-Network) berichtet. Hinter der Schlagzeile «SQL-Injektion: | ||
+ | * ListenpunktDie Business-Socialmedia-Plattform // | ||
+ | * ListenpunktIm Juni 2016 verlor die „University of Greenich“ 2.7 GB vertraulicher Benutzerdaten ihrer Studenten und Mitarbeitende. | ||
+ | |||
+ | Die eben aufgeführten Beispiele sind nur einige aus der lange Liste der //SQLI Hall-of-Shame// | ||
+ | |||
+ | ===== Ursachensuche für SQLI-Verwundbarkeit ===== | ||
+ | Obwohl mittlerweile fast schon ein //alter Hut//, muss man sich fragen warum unsere heutigen Applikationen nicht per Default gegen diese Attacken geschützt werden bzw. diese verunmöglichen. Nachfolgend finden | ||
+ | |||
+ | ==== Ausbildungsniveau der Webentwickler ==== | ||
+ | Wenn man sich die Entwicklung der IT bzw. den Ausbildungstand der IT-Entwickler genauer ansieht, erscheint es diese Verwundbarkeit nicht mehr ganz so unerklärlich. Speziell in der Webentwicklung gibt es sehr viele Autodidakten, | ||
+ | |||
+ | ===== Awareness ===== | ||
+ | Der Mensch ist in seinem Wesen // | ||
+ | |||
+ | ===== Risiken ===== | ||
+ | Im Gegensatz zum Strassenbau ist aber in der Softwareentwicklung eine Anpassung wegen Sicherheitslücken nur mit sehr grossen Aufwand möglich ist. Bei jeder Anpassung werden zudem Risiken eingegangen neue Fehler einzubauen. | ||
+ | |||
+ | Je nachdem wie vital (Lebenswichtig) die Applikation für das eigene Business ist, will kein Entscheidungsträger das Risiko eingehen, dass die Kernapplikation nach der // | ||
+ | |||
+ | ===== Kosten ===== | ||
+ | Security-Massnahmen verteuern die Entwicklung. Bei knappen Projektbudgets wird teilweise auf Funktionen verzichtet, die der Kunde nicht unmittelbar bemerkt. | ||
+ | Eine nachträgliche Anpassung der Applikation kann sehr teuer werden. Wenn nicht wirklich von vitaler Bedeutung, werden solche Investitionen vertagt oder gescheut. | ||
+ | |||
+ | ===== Varianten ===== | ||
+ | Das nachfolgende Schaubild zeigt die verschiedenen Varianten/ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Man unterscheidet dabei mehrere Ansätze: | ||
+ | * **Error Based SQL Injection: | ||
+ | * **Union Based SQL Injection: | ||
+ | * **Blind SQL Injection: | ||
+ | * **Boolean Based SQL Injection: | ||
+ | * **Time Based SQL Injection: | ||
+ | |||
+ | ===== Quellennachweis ===== | ||
+ | * [[https:// | ||
---- | ---- | ||
[[https:// | [[https:// |